You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Artem Anokhin (JIRA)" <ji...@apache.org> on 2019/02/15 15:22:00 UTC

[jira] [Created] (NIFI-6040) ExecuteSQL Batch Loading

Artem Anokhin created NIFI-6040:
-----------------------------------

             Summary: ExecuteSQL Batch Loading 
                 Key: NIFI-6040
                 URL: https://issues.apache.org/jira/browse/NIFI-6040
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework, Docker
    Affects Versions: 1.8.0
            Reporter: Artem Anokhin
             Fix For: 1.9.0
         Attachments: image-2019-02-15-18-13-39-190.png

Hello!
TC to reproduce:
1) Create GenerateFlowFile with the next Custom Text:
select 1 from dual
union all
select 2 from dual
union all
select 3 from dual
2) Create ExecuteSQL. Set "Output Batch Size" = 1.
3) Start

AR:
 !image-2019-02-15-18-13-39-190.png!

ER:
3 flowfiles in the "success" connection.

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)