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

Cannot compare binlog filenames with different base names

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • under-triaging
    • 3.0.9.Final
    • mysql-connector
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • Important

      Bug report

      My source connector randomly fails like this:

      {
        "name": "source-db",
        "connector": {
          "state": "RUNNING",
          "worker_id": "connect-0.connect.confluent.svc.cluster.local:8083"
        },
        "tasks": [
          {
            "id": 0,
            "state": "FAILED",
            "worker_id": "connect-0.connect.confluent.svc.cluster.local:8083",
            "trace": "java.lang.IllegalArgumentException: Cannot compare binlog filenames with different base names\n\tat io.debezium.connector.binlog.history.BinlogHistoryRecordComparator$BinlogFileName.compareTo(BinlogHistoryRecordComparator.java:232)\n\tat io.debezium.connector.binlog.history.BinlogHistoryRecordComparator.isPositionAtOrBefore(BinlogHistoryRecordComparator.java:112)\n\tat io.debezium.relational.history.HistoryRecordComparator.isAtOrBefore(HistoryRecordComparator.java:33)\n\tat io.debezium.relational.history.AbstractSchemaHistory.lambda$recover$3(AbstractSchemaHistory.java:103)\n\tat io.debezium.storage.kafka.history.KafkaSchemaHistory.recoverRecords(KafkaSchemaHistory.java:338)\n\tat io.debezium.relational.history.AbstractSchemaHistory.recover(AbstractSchemaHistory.java:100)\n\tat io.debezium.relational.history.SchemaHistory.recover(SchemaHistory.java:192)\n\tat io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:72)\n\tat io.debezium.schema.HistorizedDatabaseSchema.recover(HistorizedDatabaseSchema.java:40)\n\tat io.debezium.connector.common.BaseSourceTask.validateAndLoadSchemaHistory(BaseSourceTask.java:151)\n\tat io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:134)\n\tat io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:253)\n\tat org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.initializeAndStart(AbstractWorkerSourceTask.java:282)\n\tat org.apache.kafka.connect.runtime.WorkerTask.doStart(WorkerTask.java:188)\n\tat org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:248)\n\tat org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:304)\n\tat org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:82)\n\tat org.apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$7(Plugins.java:341)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"
          }
        ],
        "type": "source"
      } 

      What Debezium connector do you use and what version?

      io.debezium.connector.mysql.MySqlConnector (3.0.8)

      What is the connector configuration?

       

       

      What is the captured database version and mode of deployment?

      (E.g. on-premises, with a specific cloud provider, etc.)

      On-premise, MySQL 8.0.41

      What behavior do you expect?

      No failing connector

      What behavior do you see?

      Connector fails

      Do you see the same behaviour using the latest released Debezium version?

      Yes

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

      {   "name": "source-translated",   "connector": {     "state": "RUNNING",     "worker_id": "connect-0.connect.confluent.svc.cluster.local:8083"   },   "tasks": [     {       "id": 0,       "state": "FAILED",       "worker_id": "connect-0.connect.confluent.svc.cluster.local:8083",       "trace": "java.lang.IllegalArgumentException: Cannot compare binlog filenames with different base names\n\tat io.debezium.connector.binlog.history.BinlogHistoryRecordComparator$BinlogFileName.compareTo(BinlogHistoryRecordComparator.java:232)\n\tat io.debezium.connector.binlog.history.BinlogHistoryRecordComparator.isPositionAtOrBefore(BinlogHistoryRecordComparator.java:112)\n\tat io.debezium.relational.history.HistoryRecordComparator.isAtOrBefore(HistoryRecordComparator.java:33)\n\tat io.debezium.relational.history.AbstractSchemaHistory.lambda$recover$3(AbstractSchemaHistory.java:103)\n\tat io.debezium.storage.kafka.history.KafkaSchemaHistory.recoverRecords(KafkaSchemaHistory.java:338)\n\tat io.debezium.relational.history.AbstractSchemaHistory.recover(AbstractSchemaHistory.java:100)\n\tat io.debezium.relational.history.SchemaHistory.recover(SchemaHistory.java:192)\n\tat io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:72)\n\tat io.debezium.schema.HistorizedDatabaseSchema.recover(HistorizedDatabaseSchema.java:40)\n\tat io.debezium.connector.common.BaseSourceTask.validateAndLoadSchemaHistory(BaseSourceTask.java:151)\n\tat io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:134)\n\tat io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:253)\n\tat org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.initializeAndStart(AbstractWorkerSourceTask.java:282)\n\tat org.apache.kafka.connect.runtime.WorkerTask.doStart(WorkerTask.java:188)\n\tat org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:248)\n\tat org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:304)\n\tat org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:82)\n\tat org.apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$7(Plugins.java:341)\n\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"     }   ],   "type": "source" }
       

      How to reproduce the issue using our tutorial deployment?

      No idea.

              Unassigned Unassigned
              santurini Arturo Ghinassi (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: