Details
-
Bug
-
Resolution: Duplicate
-
Major
-
None
-
2.5.2.Final
-
None
-
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
For bug reports, provide this information, please:
What Debezium connector do you use and what version?
2.5.2.Final
What is the connector configuration?
database.hostname: "..." database.port: "1433" database.user: SA database.password: "...." database.names: "data,debezium" database.applicationIntent: ReadOnly driver.encrypt: "true" driver.trustServerCertificate: "true" topic.prefix: "signalling" topic.creation.enable: "true" topic.creation.default.replication.factor: "3" topic.creation.default.partitions: "10" table.include.list: "dbo.debezium_signal,dbo.NewPersons" schema.history.internal.kafka.bootstrap.servers: "..." schema.history.internal.consumer.security.protocol: "SASL_SSL" schema.history.internal.consumer.ssl.endpoint.identification.algorithm: "https" schema.history.internal.consumer.sasl.mechanism: "PLAIN" schema.history.internal.consumer.sasl.jaas.config: "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"${file:/mnt/secrets/ccloud-credentials/plain.txt:username}\" password=\"${file:/mnt/secrets/ccloud-credentials/plain.txt:password}\";" schema.history.internal.producer.security.protocol: "SASL_SSL" schema.history.internal.producer.ssl.endpoint.identification.algorithm: "https" schema.history.internal.producer.sasl.mechanism: "PLAIN" schema.history.internal.producer.sasl.jaas.config: "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"${file:/mnt/secrets/ccloud-credentials/plain.txt:username}\" password=\"${file:/mnt/secrets/ccloud-credentials/plain.txt:password}\";" schema.history.internal.kafka.topic: "signalling-schemahistory" signal.data.collection: debezium.dbo.debezium_signal signal.enabled.channels: "source,kafka" signal.kafka.topic: signalling-signal signal.kafka.bootstrap.servers: ... signal.consumer.security.protocol: "SASL_SSL" signal.consumer.ssl.endpoint.identification.algorithm: "https" signal.consumer.sasl.mechanism: "PLAIN" signal.consumer.sasl.jaas.config: "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"${file:/mnt/secrets/ccloud-credentials/plain.txt:username}\" password=\"${file:/mnt/secrets/ccloud-credentials/plain.txt:password}\";" provide.transaction.metadata: "false" include.schema.changes: "false"
What is the captured database version and mode of deployment?
docker instantiated SQL Server
docker run -d -p 1433:1433 --env ACCEPT_EULA=Y --env SA_PASSWORD='...' --env MSSQL_AGENT_ENABLED=True --name sql1 mcr.microsoft.com/mssql/server:2022-latest
What behaviour do you expect?
I expect to be able to use source (the signal.data.collection database table) and kafka (signal.kafka.topic) to be able to send signals to execute snapshot or other activities on the debezium connector.
What behaviour do you see?
It is unable to trigger any signals instead giving the message such as below.
[WARN] 2024-02-28 19:54:47,628 [debezium-sqlserverconnector-signalling-change-event-source-coordinator] io.debezium.pipeline.signal.SignalProcessor processSignal - Signal 'A9EE28E9-D6F7-45D1-B561-13F114959126' has been received but the type 'execute-snapshot' is not recognized
With debug logging enabled there is no evidence of any signal actions being registered as this debug statement should log: https://github.com/debezium/debezium/blob/v2.5.2.Final/debezium-core/src/main/java/io/debezium/pipeline/signal/SignalProcessor.java#L132
When the debezium_signal table is located within the same database as the captured table and database.names only has one database, the actions are registered and it is not an issue.
I suspect the issue is related to this TODO but I could not f ind a ticket referencing the TODO.
In the same way that the the kafka signal table needs to have only one partiotion, it seems like two database.names appears as if it were a topic with more than one partition and this: https://github.com/debezium/debezium/blob/v2.5.2.Final/debezium-core/src/main/java/io/debezium/pipeline/ChangeEventSourceCoordinator.java#L176
results in Optional.empty()
Do you see the same behaviour using the latest relesead Debezium version?
Yes 2.5.2
Do you have the connector logs, ideally from start till finish?
Yes
How to reproduce the issue using our tutorial deployment?
No
Attachments
Issue Links
- duplicates
-
DBZ-7243 Signals not registering when more than one database is configured
- Open