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

ConvertRecord cannot handle open enum in Avro

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.12.1
    • Fix Version/s: 1.13.0
    • Component/s: None
    • Labels:
      None

      Description

      This avro schema is using the open enum pattern:

      {
          "namespace": "acme",
          "name": "openEnum",
          "type": "record",
          "fields": [{
                  "name": "personType",
                  "type": ["null", {
                          "type": "enum",
                          "name": "personType_enum",
                          "symbols": [
                              "DRIVER",
                              "TECHNICIAN"
                          ]
                      }, "string"],
                  "default": null
              }
          ]
      }
      

      The personType can be either null, an enum, or any string. This brings forward-compatibility.
      Using ConvertRecord with

      {"personType":"DRIVER"}

      as a payload, it works.
      But with

      {"personType":"DUDE"}

      it fails with java.lang.NullPointerException: null of acme.personType_enum of union in field personType of acme.openEnum

        Attachments

        1. record_enum.xml
          27 kB
          Pierre Villard

          Issue Links

            Activity

              People

              • Assignee:
                pvillard Pierre Villard
                Reporter:
                kpnc Christophe Monnet
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h 50m
                  1h 50m