i'm fine with your proposal which merges mark's concept but aligns
consistency of Fetch(File/HDFS)

We should fix the docs for the CoreAttribute.PATH  The concept of it
being relative is simply too vague.  We should just be honest that it
is unspecified - subject to the meaning of whichever processors
sets/updates that value.

Mark will have to address the question of ListHDFS path description I think.

Thanks
Joe

On Wed, Nov 25, 2015 at 2:36 PM, Tony Kurc <trk...@gmail.com> wrote:
> Okay, since we don't have consensus, here is what I propose:
> ListFile
> 1. absolute.path will be absolute, path will be relative to input directory
>
> FetchFile:
> change default property to ${absolute.path}/${filename}. Don't have a
> windows machine at the ready - will / work as a path separator?
>
> Revisit consistency of List/Fetch when we can do a breaking change (1.0)
>
> If someone can confirm that they get the same read on ListHDFS path
> description as I do and we fix it before 0.4.0, I'd like that.
>
>
>
>
> On Wed, Nov 25, 2015 at 2:12 PM, Tony Kurc <trk...@gmail.com> wrote:
>
>> I am 100% in favor of keeping the relative path (I brought up out of band
>> the value if the Lister and Fetcher were different machines with different
>> mount points). I think is just a matter of what attribute to fill with what
>> value.
>>
>>
>> On Wed, Nov 25, 2015 at 2:09 PM, Joe Skora <jsk...@gmail.com> wrote:
>>
>>> Mark,
>>>
>>> What you described is the behavior of ListFile (in spite of confusing doc
>>> info).
>>>
>>> JoeW,
>>>
>>> Consistency with ListHDFS makes sense,  and if that is the desired
>>> behavior
>>> it's easy to change ListFile.  But CoreAttributres state "The flowfile's
>>> path indicates the relative directory" and if that's not true, does
>>> CoreAttributes need revision too?
>>>
>>> Thanks,
>>> Joe
>>>
>>> On Wed, Nov 25, 2015 at 2:00 PM, Mark Payne <marka...@hotmail.com> wrote:
>>>
>>> > Tony,
>>> >
>>> > I would recommend that ListFile add both 'path' and 'absolute.path'. The
>>> > 'path' would be relative to the base directory being listed.
>>> > For example, if ListFile is configured to list files from /data/nifi/in
>>> > and recurse subdirectories, and it finds a file named:
>>> > /data/nifi/in/123/myfile.txt
>>> > then i would expect the following attributes:
>>> >
>>> > absolute.path = /data/nifi/in/123
>>> > path = ./123
>>> > filename = myfile.txt
>>> >
>>> > Thanks
>>> > -Mark
>>> >
>>> >
>>> > > On Nov 25, 2015, at 1:56 PM, Tony Kurc <trk...@gmail.com> wrote:
>>> > >
>>> > > All,
>>> > > Joe and I commented on NIFI-631 that it didn't "just work" when wiring
>>> > the
>>> > > processors together. ListFile was populating the attributes as
>>> > > described in CoreAttributes.java
>>> > > [1] (path being relative to the input directory, and absolute being
>>> the
>>> > > full path). FetchFile was using ${path}/${filename} as the default,
>>> which
>>> > > wouldn't grab the directory. I'm puzzled as to what the correct
>>> behavior
>>> > > should be. The description of path said it is relative ... relative to
>>> > > what? ListHDFS appears to state path is absolute [2] [3], and I
>>> expect we
>>> > > should have consistent behavior between ListHDFS and ListFile.
>>> > >
>>> > > So, I guess I'm not sure what guidance to give on a review of
>>> NIFI-631.
>>> > > Should the default of FetchFile be changed to
>>> > ${absolute.path}/${filename}
>>> > > (which may be inconsistent with other List/Fetch processor combos), or
>>> > > should ListFile be changed to have path be absolute?
>>> > >
>>> > > [1]
>>> > >
>>> >
>>> https://github.com/apache/nifi/blob/master/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/flowfile/attributes/CoreAttributes.java
>>> > > [2]
>>> > >
>>> >
>>> https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/ListHDFS.java#L79
>>> > > [3]
>>> > >
>>> >
>>> https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/ListHDFS.java#L442
>>> >
>>> >
>>>
>>
>>

Reply via email to