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

SQL Server in multi-partition mode fails if a new database is added to an existing configuration

    XMLWordPrintable

Details

    • False
    • None
    • False

    Description

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      What Debezium connector do you use and what version?

      v1.9.1.Final

      What is the connector configuration?

      1. database.names=testDB1
      2. database.names=testDB1,testDB2

      What is the captured database version and mode of depoyment?

      Irrelevant

      What behaviour do you expect?

      After the configuration change, the connector should snapshot testDB2 and then start streaming both testDB1 and testDB2.

      What behaviour do you see?

      java.lang.NullPointerException: null
      	at io.debezium.relational.history.DatabaseHistory.recover(DatabaseHistory.java:159)
      	at io.debezium.relational.HistorizedRelationalDatabaseSchema.recover(HistorizedRelationalDatabaseSchema.java:62)
      	at io.debezium.connector.sqlserver.SqlServerConnectorTask.start(SqlServerConnectorTask.java:87)
      	at io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:130)
      	at io.debezium.embedded.EmbeddedEngine.run(EmbeddedEngine.java:759)
      	at io.debezium.embedded.AbstractConnectorTest.lambda$start$6(AbstractConnectorTest.java:386)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      

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

      Yes.

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

      See the above stack trace.

      How to reproduce the issue using our tutorial deployment?

      1. Create two CDC-enabled databases with some data in them.
      2. Start the connector against one of the databases.
      3. Wait until the snapshot is done.
      4. Update the configuration and add the other database.
      5. Restart the connector.

      I will provide a failing integration test alongside the fix.

      Attachments

        Activity

          People

            Unassigned Unassigned
            sergeimorozov Sergei Morozov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: