You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2019/03/06 18:46:00 UTC

[jira] [Commented] (NIFI-6040) ExecuteSQL can't perform batch loading with an input file

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

ASF subversion and git services commented on NIFI-6040:
-------------------------------------------------------

Commit c32ea618c5f454d9af25082452595b57c064b001 in nifi's branch refs/heads/master from Matt Burgess
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=c32ea61 ]

NIFI-6040: Fixed ExecuteSQL processors when Output Batch Size is set

This closes #3355.

Signed-off-by: Bryan Bende <bb...@apache.org>


> ExecuteSQL can't perform batch loading with an input file
> ---------------------------------------------------------
>
>                 Key: NIFI-6040
>                 URL: https://issues.apache.org/jira/browse/NIFI-6040
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.8.0
>            Reporter: Artem Anokhin
>            Assignee: Matt Burgess
>            Priority: Major
>              Labels: easyfix, usability
>         Attachments: image-2019-02-15-18-13-39-190.png
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Hello!
> h2. TC to reproduce:
> 1) Create GenerateFlowFile with the next Custom Text:
> {code:sql}
> select 1 from dual
> union all
> select 2 from dual
> union all
> select 3 from dual
> {code}
> 2) Create ExecuteSQL. Set "Output Batch Size" = 1.
> 3) Start
> h2. AR:
>  !image-2019-02-15-18-13-39-190.png!
> h2. ER:
> 3 flowfiles in the "success" connection.
> h2. Root Cause:
> {code:java}
> if (outputBatchSize > 0 && resultSetFlowFiles.size() >= outputBatchSize) {
>     session.transfer(resultSetFlowFiles, REL_SUCCESS);
>     session.commit();
>     resultSetFlowFiles.clear();
> }
> {code}
> Commit method has the next requirement:
> Commits the current session ensuring all operations against FlowFiles within this session are atomically persisted. *All FlowFiles operated on within this session must be accounted for by transfer or removal or the commit will fail*.
> At the time of any commit, an input flowfile (fileToProcess) still exists and has not been accounted for by transfer or removal. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)