You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/04/25 16:03:00 UTC

[jira] [Commented] (NIFI-5000) ListHDFS doesn't list files from updated 'directory'

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

ASF GitHub Bot commented on NIFI-5000:
--------------------------------------

Github user pvillard31 commented on the issue:

    https://github.com/apache/nifi/pull/2576
  
    Code LGTM, tested the change and confirmed expected behavior. +1, merging to master. Thanks @zenfenan 


> ListHDFS doesn't list files from updated 'directory'
> ----------------------------------------------------
>
>                 Key: NIFI-5000
>                 URL: https://issues.apache.org/jira/browse/NIFI-5000
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 1.2.0, 1.3.0, 1.4.0, 1.5.0
>            Reporter: Sivaprasanna Sethuraman
>            Assignee: Sivaprasanna Sethuraman
>            Priority: Major
>         Attachments: 0001-SNTDA-5000-ListHDFS-properly-lists-files-from-update.patch
>
>
> ListHDFS lists files and saves the latest listed files' modified time - latestTimestampListed and latestTimestampEmitted in the `StateMap`. It is overriding `onPropertyModified` to check if the `Directory` or the `File Filter` has been modified and if they are indeed modified, it will reset the statemap variables to `-1L` so as to list all the files from the updated `Directory` or according to the updated `File Filter`. However it is not working as intended.
> *Scenario:*
>  # Create two directories in HDFS
>  ## > hdfs dfs -mkdir /test1
>  ## > hdfs dfs -mkdir /test2
>  # Write files to the above directories in the following order:
>  ## > hdfs dfs -put sample.txt */test1/t1_1.txt* 
>  ## > hdfs dfs -put sample.txt */test2/t2_1.txt*
>  ## > hdfs dfs -put sample.txt */test1/t1_2.txt*
>  # Configure ListHDFS and set *Directory* to */test1* and start the processor. It will produce two flowfiles: *t1_1.txt* and *t1_2.txt*
>  # Stop the processor. Configure and set *Directory* to */test2*. Ideally the state variables (listed and emitted timestamp) should be reset and they should list the file *t2_1.txt* but it is not.
>  # Now put one more file to test2:
>  ## > hdfs dfs -put sample.txt */test2/2_2.txt*
>  # This would have listed the file *t2_2.txt*. File t2_1.txt is missed
> Little debugging helped me found that the `onPropertyModified` indeed works as intended but somewhere else the code still reads the last saved state i.e. the modified time of */test1/t1_2.txt*



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)