I don't know the history of this particular processor, but I think the
purpose of the session.get() with batches is similar to the concept of
@SupportsBatching. Basically both of them should have better
performance because you are handling multiple flow files in a single
session. The supports batching concept is a bit more flexible as it is
configurable by the user, where as this case is hard-coded into the
processor.

I suppose if there is some reason why you need to process 1 flow file
at a time, you could set the back-pressure threshold to 1 on the queue
leading into ReplaceText.

On Fri, May 4, 2018 at 3:50 AM, Peter Wicks (pwicks) <pwi...@micron.com> wrote:
> Had a user notice today that a ReplaceText processor, scheduled to run every 
> 20 minutes, had processed all 14 files in queue at once. I looked at the code 
> and see that ReplaceText does not do a standard session.get, but instead 
> calls:
>
> final List<FlowFile> flowFiles = 
> session.get(FlowFileFilters.newSizeBasedFilter(1, DataUnit.MB, 100));
>
> Was there a design reason behind this? To us it was just really confusing 
> that we didn't have full control over how quickly FlowFile's move through 
> this processor.
>
> Thanks,
>   Peter

Reply via email to