-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
False
-
-
False
Bug report
What Debezium connector do you use and what version?
MongoDB or postgresql
What is the connector configuration?
debezium.sink.type=rabbitmq
debezium.source.connector.class=io.debezium.connector.postgresql.PostgresConnector
debezium.source.topic.prefix=testc
debezium.source.schema.include.list=inventory
debezium.source.table.include.list=inventory.customers
debezium.transforms=addheader
debezium.transforms.addheader.type=org.apache.kafka.connect.transforms.InsertHeader
debezium.transforms.addheader.header=test
debezium.transforms.addheader.value.literal=value
debezium.source.header.converter.schemas.enable=false
What is the captured database version and mode of depoyment?
- MongoDB 7.0 in k8s
- postgresql 16 in junit IT tests
What behaviour do you expect?
When using debezium.source.header.converter.schemas.enable=false I expect message headers to be simple string, without surrounding quotes.
What behaviour do you see?
Message headers are surrounded by double quotes.
For example, with this configuration :
debezium.transforms.addheader.type=org.apache.kafka.connect.transforms.InsertHeader
debezium.transforms.addheader.header=test
debezium.transforms.addheader.value.literal=value
debezium.source.header.converter.schemas.enable=false
header on the message is :
test=""value""
instead of
test="value"
If I comment out the last line, header include the schema but not the surrounding double quotes
test="{"schema": {"type":"string","optional":false} ,"payload":"value"}"
To reproduce, I have updated test class RabbitMqIT and RabbitMqTestConfigSource to add new properties et assertions on header value.
Please find the files attached.
The modified test outputs :
[ERROR] Failures: [ERROR] RabbitMqIT.testRabbitMq:145->lambda$testRabbitMq$2:146 Expecting: <""value""> to be equal to: <"value"> but was not.
I have also tested it in a real deployment with rabbitmq and mongodb connector with this simple configuration
debezium.transforms=unwrap debezium.transforms.unwrap.type=io.debezium.connector.mongodb.transforms.ExtractNewDocumentState debezium.transforms.unwrap.add.headers.prefix= debezium.transforms.unwrap.add.headers=op
In RabbitMQ UI, the double quotes are clearly visible:

Do you see the same behaviour using the latest relesead Debezium version?
I have tested on 2.4.0, 2.4.1 and 2.5.0-SNAPSHOT