Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-6486

ExtractNewRecordState SMT in combination with HeaderToValue SMT results in Unexpected field name exception


      What Debezium connector do you use and what version?

      Oracle Connector 2.3.0.Alpha1

      What is the connector configuration?

          "transforms": "changes,moveHeadersToValue,unwrap",
          "transforms.changes.type": "io.debezium.transforms.ExtractChangedRecordState",
          "transforms.changes.header.changed.name": "Changed",
          "transforms.moveHeadersToValue.type": "io.debezium.transforms.HeaderToValue",
          "transforms.moveHeadersToValue.headers": "Changed",
          "transforms.moveHeadersToValue.fields": "changes",
          "transforms.moveHeadersToValue.operation": "copy",
          "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState",
          "transforms.unwrap.add.fields": "source.table:META_SRC_TABLENAME,source.ts_ms:META_SRC_TS,op:META_SRC_OP,source.scn:META_SRC_SCN,source.snapshot:META_SRC_SNAPSHOT,source.user_name:META_SRC_USER,changes:META_SRC_CHANGED",
          "transforms.unwrap.delete.handling.mode": "rewrite",
          "transforms.unwrap.drop.tombstones": "false",

      What is the captured database version and mode of depoyment?

      Oracle 19c on prem, non-CDB

      What behaviour do you expect?

      The header field moved / copied to the value (which works correctly with the HeaderToValue SMT) should be extracted by the ExtractNewRecordState SMT. 

      What behaviour do you see?

      An error message that the extracted field is not expected:

      Caused by: java.lang.IllegalArgumentException: Unexpected field name

      Do you have the connector logs, ideally from start till finish?

      see attached TRACE LEVEL logs


            rh-ee-mvitale Mario Fiore Vitale
            renerh René Rütter
            0 Vote for this issue
            4 Start watching this issue