Devin,

What you're asking for is a contradicting requirement. One trades individual 
message transactional control (and necessary overhead) for the higher 
throughput with micro-batching (but lesser control). In short, you can't expect 
to rollback a message and not affect the whole batch.

However, if you 'commit' this batch as received by your processor, and take on 
the responsibility of storing, tracking and commit/rollback of those yourself 
for downstream connection.... But then, why?

In general, one should leverage NiFi 'Scheduling' tab and have the 
micro-batching aspect controlled via the framework. Unless you really really 
have a very good reason to do it yourself.

Hope this helps,
Andrew




On 3/7/16, 5:00 PM, "Devin Fisher" <[email protected]> wrote:

>Question about rollbacks. I have a processor that is grabbing a list of
>FlowFiles from session.get(100). It will then process each flow file one at
>a time.  I want to then be able if there is an error with a single FlowFile
>to roll it back (and only this failed FlowFile) and transfer it to the
>FAILED relationship. But reading the javadoc for ProcessSession I don't get
>the sense that I can do that.
>
>Is my workflow wrong, should I only get one at a time from the session and
>commit after each one?
>
>Devin

Reply via email to