Having a quick look at the lookupAttribute code it looks like it takes a
Optional<> from the call to the configured service. So I wonder if its
worth adding the logic to service instead so that on erroring it can either
return a missing value or throw an exception that would trigger the
roleback. T
The approach in #1 is already present in a few Put processors like
PutHive3QL, the property is named "Rollback on Failure" and takes a
boolean value. The docs explain that if set to false, the flowfile is
routed to failure, and if true will throw an exception and rollback
the session. Check Rollbac
The try/catch for IOException in LookupAttribute is after already
calling session.get(), so it is separate from loading a flow file.
The SimpleDatabaseLookupService catches SQLException and throws
LookupFailureException which is the indicator to route to failure, and
it lets IOException be thrown
Hmm, it sounds like to me there might be 2 bugs here.
One in the lookup attribute processor not isolating the loading of
attributes from a FlowFile which may legitimately cause an IOException that
would result in the FlowFile needing to be retired. The other in the
TeradataDB lookup service not re
I'm not 100% sure on this, but I think the issue is that when
LookupAttribute calls the LookupService, it catches IOException and throws
a ProcessException, which rolls back the current session and puts the
incoming flow files back in the preceding queue. The idea is that it would
then retry the fl
Hello all.
You can decrease the penalty value on the processor.
Set to 0 for example.
Le lun. 25 oct. 2021 à 16:22, Bilal Bektas a
écrit :
> Hi Community,
>
>
>
> We use LookupAttribute processor in order to get lookup value from
> Teradata or Oracle DB. Processors work as follows:
>
>
>
> Lo
Hi Mark,
I have done your suggestion. Flow files did not penalize from LookupAttribute
(Teradata) but the queue on upstream connection of LookupAttribute (Teradata)
increased and LookupAttribute (Teradata) processor not forwarded flow files to
failure downstream connection. Is there any other
Bilal,
In the Settings tab, you can set the “Penalty Duration” to “0 secs”.
Thanks
-Mark
On Oct 25, 2021, at 10:20 AM, Bilal Bektas
mailto:bilal.bek...@obase.com>> wrote:
Hi Community,
We use LookupAttribute processor in order to get lookup value from Teradata or
Oracle DB. Processors work
Hi Community,
We use LookupAttribute processor in order to get lookup value from Teradata or
Oracle DB. Processors work as follows:
LookupAttribute (Teradata) ---(failure & unmatched) ---> LookupAttribute
(Oracle)
This flows works well and LookupAttribute (Teradata) penalizes to flow files
w