[ 
https://issues.apache.org/jira/browse/MINIFICPP-286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

marco polo resolved MINIFICPP-286.
----------------------------------
    Resolution: Fixed

> PutFile fails if filename property includes a path
> --------------------------------------------------
>
>                 Key: MINIFICPP-286
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-286
>             Project: NiFi MiNiFi C++
>          Issue Type: Bug
>            Reporter: Andrew Christianson
>            Assignee: Andrew Christianson
>
> If a flowfile 'filename' property includes a path (i.e. nested subdirs), then 
> PutFile fails due to improper creation of temporary write file.
> Example ExecuteScript lua to update filename:
> {code}
> function onTrigger(context, session)
>   flow_file = session:get()
>   log:info('rename_file triggered')
>   if flow_file ~= nil then
>     file_name = flow_file:getAttribute('filename')
>     new_file_name = 'a/b/' .. file_name
>     log:info('renaming ' .. flow_file:getAttribute('filename') .. ' to ' .. 
> new_file_name)
>     flow_file:updateAttribute('filename', new_file_name)
>     session:transfer(flow_file, REL_SUCCESS)
>     log:info('rename_file success')
>   else
>     log:info('no work to do')
>   end
> end
> {code}
> Log output showing the error:
> {code}
> [2017-11-03 12:44:38.916] 
> [org::apache::nifi::minifi::processors::ExecuteScript] [info] Using available 
> lua script engine instance
> [2017-11-03 12:44:38.916] 
> [org::apache::nifi::minifi::processors::ExecuteScript] [info] rename_file 
> triggered
> [2017-11-03 12:44:38.916] 
> [org::apache::nifi::minifi::processors::ExecuteScript] [info] renaming 
> 1509727478135549592 to a/b/1509727478135549592
> [2017-11-03 12:44:38.916] 
> [org::apache::nifi::minifi::processors::ExecuteScript] [info] rename_file 
> success
> [2017-11-03 12:44:38.916] 
> [org::apache::nifi::minifi::processors::ExecuteScript] [info] Releasing lua 
> script engine
> [2017-11-03 12:44:38.921] [org::apache::nifi::minifi::processors::PutFile] 
> [info] PutFile using temporary file 
> data/.a/b/1509727478135549592.486467fe-c0b6-11e7-821e-b06ebf2c6de8
> [2017-11-03 12:44:38.921] [org::apache::nifi::minifi::processors::PutFile] 
> [info] PutFile writing file a/b/1509727478135549592 into directory data
> [2017-11-03 12:44:38.921] [org::apache::nifi::minifi::processors::PutFile] 
> [info] Committing data/a/b/1509727478135549592
> [2017-11-03 12:44:38.921] 
> [org::apache::nifi::minifi::processors::PutFile::ReadCallback] [info] PutFile 
> committing put file operation to data/a/b/1509727478135549592
> [2017-11-03 12:44:38.921] 
> [org::apache::nifi::minifi::processors::PutFile::ReadCallback] [info] PutFile 
> commit put file operation to data/a/b/1509727478135549592 failed because 
> rename() call failed
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to