You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Matt Burgess (JIRA)" <ji...@apache.org> on 2019/03/06 15:51:00 UTC
[jira] [Updated] (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:all-tabpanel ]
Matt Burgess updated NIFI-6040:
-------------------------------
Status: Patch Available (was: In Progress)
> 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: 10m
> 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)