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

Debezium mysql recovers from broker outage and stops sending new events

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Major
    • None
    • 0.10.0.Final
    • mysql-connector
    • None
    • Hide

      Using debezium-mysql-0.10.0.Final, the problem occurred for me when the broker would become unavailable for at least a few minutes.

      Show
      Using debezium-mysql-0.10.0.Final, the problem occurred for me when the broker would become unavailable for at least a few minutes.

    Description

      I have two kafka connectors running in distributed mode controlled by a strimzi operator. Each of these connectors is streaming a separate table from the same mysql-5.6 database.

      This has happened in two separate scenarios. The first time it happened I had just upgraded the debezium plugin from 0.9.2 to 0.10.0.Final. The connector came up using the upgraded plugin and showed itself to be in a RUNNING state when I queried the `/connectors/<connector name>/tasks/0/status` endpoint. If I tried tailing the topic from the broker, however, there were no new events being published. I had to force the connector to take a new snapshot for it to recover. The second time it happened, I upgraded the strimzi operator from 0.13.0 to 0.14.0. The connector reacted in a very similar way in that the tasks endpoint showed it to be running but there were no new events coming from the tables.

      In both scenarios there was a brief interruption in the availability of the broker which I'm guessing is what caused the connectors to freeze.

      I have the cluster and connectors in this state still so I will try and include as much of the logging and endpoint info as I can.

      curl platform-connect-api:8083/connectors/database-sell-item | jq
      {
        "name": "database-sell-item",
        "config": {
          "connector.class": "io.debezium.connector.mysql.MySqlConnector",
          "database.user": "debezium",
          "database.server.id": "1801",
          "tasks.max": "1",
          "database.history.kafka.bootstrap.servers": "platform-kafka-bootstrap:9092",
          "database.history.kafka.topic": "sell-item",
          "database.server.name": "database",
          "database.port": "3306",
          "table.whitelist": "database.sell_item",
          "value.converter.schema.registry.url": "http://avro-registry:8081",
          "database.hostname": "debezium-mysql.database-mysql",
          "database.password": "xxxxxxxxxxxx",
          "name": "database-sell-item",
          "value.converter": "io.confluent.connect.avro.AvroConverter",
          "database.whitelist": "database",
          "key.converter": "io.confluent.connect.avro.AvroConverter",
          "key.converter.schema.registry.url": "http://avro-registry:8081",
          "snapshot.mode": "when_needed"
        },
        "tasks": [
          {
            "connector": "database-sell-item",
            "task": 0
          }
        ],
        "type": "source"
      }
      
      curl platform-connect-api:8083/connectors/database-sell-item/tasks/0/status | jq
      {
        "id": 0,
        "state": "RUNNING",
        "worker_id": "10.20.15.17:8083"
      }
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            jonslusher Jon Slusher
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: