Concatenated XML in one Kafka message.
- Dominant language
- HTML
- Stars
- 6
- Forks
- 8
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 1
Description
## Bug report
**What Debezium connector do you use and what version?**
`Oracle Connector`
`Debezium 3.6.0.CR1`
---
**What is the connector configuration?**
```
{
"connector.class": "io.debezium.connector.oracle.OracleConnector",
"tasks.max": "1",
"schema.history.internal.consumer.sasl.jaas.config": "******",
"value.converter.converter.decimal.format": "PLAIN",
"log.mining.transaction.retention.ms": "600000",
"log.mining.strategy": "online_catalog",
"schema.history.internal.store.only.captured.tables.ddl": "true",
"snapshot.database.errors.max.retries": "3",
"value.converter.replace.null.with.default": "false",
"topic.prefix": "cdc",
"heartbeat.action.query": "SELECT SYSTIMESTAMP FROM DUAL",
"schema.history.internal.kafka.topic": "dbhistory",
"schema.history.internal.consumer.ssl.truststore.location": "******",
"schema.history.internal.producer.security.protocol": "SASL_SSL",
"schema.history.internal.producer.ssl.truststore.password": "******",
"lob.enabled": "true",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"schema.history.internal.producer.sasl.mechanism": "SCRAM-SHA-512",
"database.user": "******",
"database.dbname": "******",
"schema.history.internal.consumer.ssl.endpoint.identification.algorithm": "https",
"database.connection.adapter": "logminer",
"schema.history.internal.consumer.ssl.truststore.password": "******",
"heartbeat.interval.ms": "100000",
"schema.history.internal.kafka.bootstrap.servers": "kafka:9092",
"database.port": "1521",
"schema.history.internal.producer.ssl.endpoint.identification.algorithm": "https",
"database.hostname": "******",
"database.password": "******",
"schema.history.internal.producer.sasl.jaas.config": "******",
"schema.history.internal.producer.ssl.truststore.location": "******",
"schema.history.internal.consumer.sasl.mechanism": "SCRAM-SHA-512",
"skipped.operations": "t",
"table.include.list": "T24.FBNK_TEST",
"snapshot.mode": "no_data",
"schema.history.internal.consumer.security.protocol": "SASL_SSL"
}
```
---
**What is the captured database version and mode of deployment?**
`Oracle 19c`
---
**What behavior do you expect?**
`Message contains only 1 final xml from the last update statement`
---
**What behavior do you see?**
`Message contains 2 xml concated from 2 statements in 1 transaction`
---
**Do you see the same behaviour using the latest released Debezium version?**
`This is with the latest release: 3.6.0.CR1`
---
**Do you have the connector logs, ideally from start till finish?**
`no log`
---
**How to reproduce the issue using our [tutorial](https://github.com/debezium/debezium-examples/tree/main/tutorial) deployment?**
DDL Table for CDC
```
sql
CREATE TABLE T24.TEST_XML
(
"RECID" VARCHAR2(255) NOT NULL ENABLE,
"XMLRECORD" "SYS"."XMLTYPE",
PRIMARY KEY ("RECID"))
XMLTYPE COLUMN "XMLRECORD" STORE AS SECUREFILE BINARY XML
```
Scenario in a single transaction:
```
sql
INSERT INTO T24.TEST_XML (RECID, XMLRECORD) VALUES ('test3', ' value1 value2 value3 value4 value5 value6 value7 value8 value9 value10 value11 value12 value13 value14 value15 value16 value17 value18 value19 value20 value21 value22 value23 value24 value25 value26 value27 value28 value29 value30 value31 value32 value33 value34 value35 value36 value37 value38 value39 value40 value41 value42 value43 value44 value45 value46 value47 value48 value49 value50 ');
update T24.TEST_XML
SET XMLRECORD = ' update value2 value3 value4 value5 value6 value7 value8 value9 value10 value11 value12 value13 value14 value15 value16 value17 value18 value19 value20 value21 value22 value23 value24 value25 value26 value27 value28 value29 value30 value31 value32 value33 value34 value35 value36 value37 value38 value39 value40 value41 value42 value43 value44 value45 value46 value47 value48 value49 value50 '
WHERE RECID = 'test3';
COMMIT;
```
Result: a single Kafka message where XMLRECORD contains the two XML payloads (from the INSERT and the UPDATE) concatenated, instead of just the final value.
```json
{
"before": null,
"after": {
"RECID": "test3",
"XMLRECORD": " value1 value2 value3 value4 value5 value6 value7 value8 value9 value10 value11 value12 value13 value14 value15 value16 value17 value18 value19 value20 value21 value22 value23 value24 value25 value26 value27 value28 value29 value30 value31 value32 value33 value34 value35 value36 value37 value38 value39 value40 value41 value42 value43 value44 value45 value46 value47 value48 value49 value50 update value2 value3 value4 value5 value6 value7 value8 value9 value10 value11 value12 value13 value14 value15 value16 value17 value18 value19 value20 value21 value22 value23 value24 value25 value26 value27 value28 value29 value30 value31 value32 value33 value34 value35 value36 value37 value38 value39 value40 value41 value42 value43 value44 value45 value46 value47 value48 value49 value50 "
}
```
Contributor guide
Assessment
This issue has not been assessed yet.