You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Oleg Zhurakousky (JIRA)" <ji...@apache.org> on 2016/12/27 13:06:58 UTC

[jira] [Commented] (NIFI-3255) SplitText fails with IllegalArgumentException: Destination cannot be within sources

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

Oleg Zhurakousky commented on NIFI-3255:
----------------------------------------

I think we need raise a JIRA to address the Mock testing framework in general. If we can no longer rely on it to produce the same results as the core, then we may need to reconsider our unit test strategy.

> SplitText fails with IllegalArgumentException: Destination cannot be within sources
> -----------------------------------------------------------------------------------
>
>                 Key: NIFI-3255
>                 URL: https://issues.apache.org/jira/browse/NIFI-3255
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 1.1.0, 1.1.1
>            Reporter: Koji Kawamura
>            Assignee: Oleg Zhurakousky
>            Priority: Critical
>
> If SplitText is configured with Header Line Count grater than 0, and input flow file like below is passed, it fails with IllegalArgumentException:
> {code}
> header
> line1
> line2
> {code}
> Stacktrace:
> {code}
> 2016-12-27 16:41:51,016 WARN [Timer-Driven Process Thread-2] o.a.n.c.t.ContinuallyRunProcessorTask java.lang.IllegalArgumentException: Destination cannot be within sources
>         at org.apache.nifi.controller.repository.StandardProcessSession.merge(StandardProcessSession.java:2217) ~[nifi-framework-core-1.2.0-SNAPSHOT.jar:1.2.0-SNAPSHOT]
>         at org.apache.nifi.controller.repository.StandardProcessSession.merge(StandardProcessSession.java:2209) ~[nifi-framework-core-1.2.0-SNAPSHOT.jar:1.2.0-SNAPSHOT]
>         at org.apache.nifi.processors.standard.SplitText.generateSplitFlowFiles(SplitText.java:305) ~[na:na]
>         at org.apache.nifi.processors.standard.SplitText.onTrigger(SplitText.java:253) ~[na:na]
>         at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) ~[nifi-api-1.2.0-SNAPSHOT.jar:1
> {code}
> Marked as critical since this is a regression and breaks existing flow. With 1.0, SplitText produces following output flow files to "split" relationship with the same input flow file and processor configuration:
> {code}
> # output flow file 1
> header
> line1
> # output flow file 2
> header
> line 2
> {code}
> The related code block in the processor has been covered by unit tests, however, since unit test uses MockProcessSession, it skips check conditions in StandardProcessSession. MockProcessSession should be updated, too, in order to catch this type of issue with Unit testing.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)