Andrew Christianson created MINIFICPP-286:
---------------------------------------------
Summary: 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
Priority: Major
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)