Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-5834

Restore default PutHiveQL error handling behavior

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.9.0
    • Extensions
    • None

    Description

      As part of adding Rollback On Failure to PutHiveQL (via NIFI-3415), the code was refactored to allow failures to be rolled back rather than transferred to the failure relationship (if Rollback On Failure is set). As part of that, all transient SQLExceptions were declared to be of type "Temporal Failure". This (along with the refactor) allowed the failures to be handled as rollbacks or transfers as specified.

      Hive returns all exceptions as transient SQLExceptions, with an error code that better infers the behavior of the operation. This, via the discovery of NIFI-5045, resulted in the handling of error codes within the Hive error code range. However the default behavior when the error code is not in the Hive-valid range is to rollback regardless of whether Rollback On Failure is true or not. This was done as a "better safe than sorry" approach, but it made the behavior inconsistent with earlier versions of the processor, where failures were simply routed to failure rather than rolling back.

      This case proposes to return the default behavior for unknown SQLExceptions to "TemporalFailure", which will make the behavior consistent with previous versions of the processor, where unknown errors will be transferred to failure unless Rollback on Failure is true.

      Attachments

        Issue Links

          Activity

            People

              mattyb149 Matt Burgess
              mattyb149 Matt Burgess
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: