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

MongoDB ExtractNewDocumentState SMT blocks heartbeat messages

    Details

      Description

      Heartbeat AVRO messages are blocked by the ExtractNewDocumentState SMT in this point of the code:

      if (record.keySchema() == null ||
                      record.keySchema().name() == null ||
                      !record.keySchema().name().endsWith(RECORD_ENVELOPE_KEY_SCHEMA_NAME_SUFFIX)) {
                  LOGGER.debug("Message without Debezium CDC Envelope ignored, missing Key Schema. Message key: \"{}\"", record.key());
                  return null;
              }
      

      The schema of the heartbeat is:

      {
        "type": "record",
        "name": "ServerNameKeyKey",
        "namespace": "io.debezium.connector.common",
        "fields": [
          {
            "name": "serverName",
            "type": "string"
          }
        ],
        "connect.name": "io.debezium.connector.common.ServerNameKeyKey"
      }
      

      As RECORD_ENVELOPE_KEY_SCHEMA_NAME_SUFFIX is ".Key" and the schema name is instead "ServerNameKeyKey" the message is rejected.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                jpechanec Jiri Pechanec
                Reporter:
                omicron92 Cosimo Meli
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: