Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
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:
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
Log output showing the error:
[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
Attachments
Issue Links
- links to