[ 
https://issues.apache.org/jira/browse/MINIFICPP-286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16238002#comment-16238002
 ] 

ASF GitHub Bot commented on MINIFICPP-286:
------------------------------------------

GitHub user achristianson opened a pull request:

    https://github.com/apache/nifi-minifi-cpp/pull/174

    MINIFICPP-286 Correctly handle filenames with nested paths

    Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
    
    In order to streamline the review of the contribution we ask you
    to ensure the following steps have been taken:
    
    ### For all changes:
    - [x] Is there a JIRA ticket associated with this PR? Is it referenced
         in the commit message?
    
    - [x] Does your PR title start with MINIFI-XXXX where XXXX is the JIRA 
number you are trying to resolve? Pay particular attention to the hyphen "-" 
character.
    
    - [x] Has your PR been rebased against the latest commit within the target 
branch (typically master)?
    
    - [x] Is your initial contribution a single, squashed commit?
    
    ### For code changes:
    - [x] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
    - [x] If applicable, have you updated the LICENSE file?
    - [x] If applicable, have you updated the NOTICE file?
    
    ### For documentation related changes:
    - [x] Have you ensured that format looks appropriate for the output in 
which it is rendered?
    
    ### Note:
    Please ensure that once the PR is submitted, you check travis-ci for build 
issues and submit an update to your PR as soon as possible.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/achristianson/nifi-minifi-cpp MINIFICPP-286

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/nifi-minifi-cpp/pull/174.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #174
    
----
commit 8b18adb159f2940aa43ac97ba0f559350ae8688b
Author: Andy I. Christianson <[email protected]>
Date:   2017-11-03T17:06:06Z

    MINIFICPP-286 Correctly handle filenames with nested paths

----


> 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)

Reply via email to