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

Oracle connector will fail with cryptic error when offset position is no longer valid

XMLWordPrintable

      In DBZ-9118 we introduced an exception as part of the validation step to make sure the log position is valid at start-up rather than letting this be thrown later during the streaming phase of the connector.

      Unfortunately for Oracle, the exception message, as written, would fail because the connector does not store all required data attributes for a Source Struct in the offsets, a lot of this is runtime driven, and therefore this caused the following exception:

      2025-08-30 09:36:06,690 ERROR  OracleConnectorIT||engine  org.apache.kafka.connect.errors.DataException: Invalid value: null used for required field: "schema", schema type: STRING   [io.debezium.connector.oracle.OracleConnectorIT]
      org.apache.kafka.connect.errors.DataException: Invalid value: null used for required field: "schema", schema type: STRING
      	at org.apache.kafka.connect.data.ConnectSchema.validateValue(ConnectSchema.java:224)
      	at org.apache.kafka.connect.data.ConnectSchema.validateValue(ConnectSchema.java:217)
      	at org.apache.kafka.connect.data.Struct.put(Struct.java:216)
      	at org.apache.kafka.connect.data.Struct.put(Struct.java:203)
      	at io.debezium.connector.oracle.OracleSourceInfoStructMaker.struct(OracleSourceInfoStructMaker.java:51)
      	at io.debezium.connector.oracle.OracleSourceInfoStructMaker.struct(OracleSourceInfoStructMaker.java:15)
      	at io.debezium.connector.AbstractSourceInfo.struct(AbstractSourceInfo.java:79)
      	at io.debezium.pipeline.CommonOffsetContext.getSourceInfo(CommonOffsetContext.java:58)
      

      The exception should be written to not make any assumptions about what data is in the offsets and what methods are or are not valid, and instead should use the toString implementation we often rely on across the remainder of the code base to represent the attributes for the position in the message.

              ccranfor@redhat.com Chris Cranford
              ccranfor@redhat.com Chris Cranford
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: