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

SQL Server connector doesn't properly handle special characters in schema names

XMLWordPrintable

      Bug report

      This issue is similar to DBZ-9091 but focuses specifically on schema names.

      What Debezium connector do you use and what version?

      v3.1.2.Final

      What is the connector configuration?

      Integration tests

      What is the captured database version and mode of deployment?

      Irrelevant

      What behavior do you expect?

      All schemas are handled correctly regardless of their names.

      What behavior do you see?

      Debezium doesn't handle schemas with one of the [ character in the name and potentially others. The following stack trace demonstrates a failure when the schema name is "s ['1']".

      java.util.concurrent.ExecutionException: org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.
      	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
      	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
      	at io.debezium.embedded.async.AsyncEmbeddedEngine.runTasksPolling(AsyncEmbeddedEngine.java:511)
      	at io.debezium.embedded.async.AsyncEmbeddedEngine.run(AsyncEmbeddedEngine.java:221)
      	at io.debezium.embedded.async.TestingAsyncEmbeddedEngine.run(TestingAsyncEmbeddedEngine.java:29)
      	at io.debezium.embedded.AbstractConnectorTest.lambda$start$8(AbstractConnectorTest.java:453)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
      	at java.base/java.lang.Thread.run(Thread.java:1583)
      Caused by: org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.
      	at io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:67)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:150)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
      	at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
      	... 3 common frames omitted
      Caused by: io.debezium.DebeziumException: io.debezium.DebeziumException: Unable to find relational table model for 'testDB1.s ['1'].UAT WAG CZ$Fixed Asset ['1']', there may be an issue with your include/exclude list configuration.
      	at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:105)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:294)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:278)
      	at io.debezium.connector.sqlserver.SqlServerChangeEventSourceCoordinator.executeChangeEventSources(SqlServerChangeEventSourceCoordinator.java:84)
      	at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:143)
      	... 6 common frames omitted
      Caused by: io.debezium.DebeziumException: Unable to find relational table model for 'testDB1.s ['1'].UAT WAG CZ$Fixed Asset ['1']', there may be an issue with your include/exclude list configuration.
      	at io.debezium.relational.RelationalSnapshotChangeEventSource.createSchemaChangeEventsForTables(RelationalSnapshotChangeEventSource.java:439)
      	at io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:168)
      	at io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:96)
      	... 10 common frames omitted
      

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

      Yes, tested on the main branch.

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

                Created:
                Updated:
                Resolved: