Matt Burgess created NIFI-9800:
----------------------------------

             Summary: Unwrap SQLExceptions in PutDatabaseRecord when table does 
not exist
                 Key: NIFI-9800
                 URL: https://issues.apache.org/jira/browse/NIFI-9800
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Extensions
            Reporter: Matt Burgess


As of NIFI-5757, SQLExceptions in PutDatabaseRecord's code to determine table 
information have been wrapped in a ProcessException as the code was moved into 
a lambda. Until NIFI-8146, this introduced a regression as the flowfile would 
be rolled back (even if Rollback on Failure is false) rather than being routed 
to failure.

The refactor of PutDatabaseRecord in NIFI-8146 changed the logic to correctly 
route to failure; however the exception is still wrapped in a ProcessException 
and should be unwrapped before logging. Behavior (transfer to failure) should 
remain the same and thus avoid another regression.

To test, simply send a flowfile to PutDatabaseRecord to a table that doesn't 
exist. In NiFi 1.8, it will be routed to failure. In NiFi 1.9-1.12, it will be 
rolled back. In 1.13+ it is again routed to failure. After this Jira, it should 
still be routed to failure but logged as a SQLException rather than a 
ProcessException with a SQLException cause.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to