Schema issue with Debezium JdbcSinkConnector

111 views
Skip to first unread message

HC Pro

unread,
Jul 15, 2025, 12:57:43 PMJul 15
to debezium

Hello everyone,

I’m currently facing a blocking issue with using Debezium to replicate near real-time changes from a SQL Server database to an Oracle database. Here is my architecture :

  • SQL Server database with CDC enabled.

  • An Azure Container App running a Debezium image with its Debezium Connect connector.

  • An Azure Event Hubs Namespace containing several Azure Event Hubs acting as Kafka topics.

  • An on-premises VM running the same Debezium image with a Debezium Sink connector.

  • Oracle database.

At the moment, the data flow is working correctly from the SQL Server database to Azure Event Hubs. For each change made in the SQL Server database, I can see the logs appearing in the corresponding Event Hubs.

The issue arises with the connector running on my VM (the Debezium Sink connector). It successfully connects to the Azure Event Hubs Namespace but does not "react" when a new log arrives in an Event Hub. I also tested simulating a log sent directly to an Azure Event Hub, and in that case, the Debezium Sink connector returns an error like:
Configured primary key mode 'record_key' cannot have null schema

I suspect an issue with the format of the JSON logs in Azure Event Hubs, but I haven’t found anything online or through AI tools that helps me resolve the problem. Below I’m including additional information about the structure of my test project :

  • Additional information about the Debezium image on Azure Container App :
    Image used : quay.io/debezium/connect:3.1.0.Final
    •   GROUP_ID : DEBEZIUM-CONTAINER
    •   CONFIG_STORAGE_TOPIC : debezium_configs
    •   OFFSET_STORAGE_TOPIC : debezium_offsets
    •   STATUS_STORAGE_TOPIC :  debezium_statuses
    •   BOOTSTRAP_SERVERS : XXX.servicebus.windows.net:9093
    •   CONNECT_REQUEST_TIMEOUT_MS : 60000
    •   CONNECT_SECURITY_PROTOCOL : SASL_SSL
    •   CONNECT_PRODUCER_SECURITY_PROTOCOL : SASL_SSL   
    •   CONNECT_CONSUMER_SECURITY_PROTOCOL : SASL_SSL   
    •   CONNECT_SASL_MECHANISM : PLAIN
    •   CONNECT_PRODUCER_SASL_MECHANISM : PLAIN   
    •   CONNECT_CONSUMER_SASL_MECHANISM : PLAIN
    •   CONNECT_SASL_JAAS_CONFIG :  org.apache.kafka.common.security.plain.PlainLoginModule required username=\"\$ConnectionString\" password=\"XXX";
    •   CONNECT_PRODUCER_SASL_JAAS_CONFIG :  org.apache.kafka.common.security.plain.PlainLoginModule required username=\"\$ConnectionString\" password=\"XXX";
    •   CONNECT_CONSUMER_SASL_JAAS_CONFIG :  org.apache.kafka.common.security.plain.PlainLoginModule required username=\"\$ConnectionString\" password=\"XXX";
    •   KEY_CONVERTER : org.apache.kafka.connect.json.JsonConverter
    •   VALUE_CONVERTER : org.apache.kafka.connect.json.JsonConverter
    •   INTERNAL_KEY_CONVERTER : org.apache.kafka.connect.json.JsonConverter
    •   INTERNAL_VALUE_CONVERTER : org.apache.kafka.connect.json.JsonConverter
    •   INTERNAL_KEY_CONVERTER_SCHEMAS_ENABLE : false
    •   INTERNAL_VALUE_CONVERTER_SCHEMAS_ENABLE : false
  • Additional information about the Debezium Connect connector :
     "name": "debezium-connector",
     "config": {
    "connector.class": "io.debezium.connector.sqlserver.SqlServerConnector",
    "database.hostname": "XXX.database.windows.net",
    "database.names": "XXX",
    "database.user": "XXX",
    "database.password": "XXX",
    "database.port": "1433",
    "topic.prefix": "sqlserver",
    "schema.history.internal.kafka.topic": "schemahistory", "schema.history.internal.kafka.bootstrap.servers": "XXX.servicebus.windows.net:9093",
    "schema.history.internal.consumer.security.protocol": "SASL_SSL",
    "schema.history.internal.producer.security.protocol": "SASL_SSL",
    "schema.history.internal.consumer.sasl.mechanism": "PLAIN",
    "schema.history.internal.producer.sasl.mechanism": "PLAIN",
    "schema.history.internal.consumer.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"XXX";",
    "schema.history.internal.producer.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"XXX\";",
    "producer.bootstrap.servers": "XXX.servicebus.windows.net:9093",
    "producer.security.protocol": "SASL_SSL",
    "producer.sasl.mechanism": "PLAIN",
    "producer.sasl.jaas.config": "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$ConnectionString\" password=\"XXX\";",
    "tombstones.on.delete": "false",
    "topic.creation.default.replication.factor": 3,
    "topic.creation.default.partitions": 4,
    "snapshot.mode": "recovery",
    "driver.encrypt": "false",
    "driver.trustServerCertificate": "true"
    }
  • Additional information about the Debezium image on the on-premises VM :
    services:
      connect:
        container_name: debezium_sink
        image: quay.io/debezium/connect:3.1.0.Final
        ports:
          - "8083:8083"
        environment:
          - BOOTSTRAP_SERVERS=${EVENTHUB_NAMESPACE}.servicebus.windows.net:9093
          - GROUP_ID=DEBEZIUM-SINK-CONTAINER
          - CONFIG_STORAGE_TOPIC=debezium_sink_configs
          - OFFSET_STORAGE_TOPIC=debezium_sink_offsets
          - STATUS_STORAGE_TOPIC=debezium_sink_statuses
          - CONNECT_REQUEST_TIMEOUT_MS=60000
          - CONNECT_SECURITY_PROTOCOL=SASL_SSL
          - CONNECT_PRODUCER_SECURITY_PROTOCOL=SASL_SSL
          - CONNECT_CONSUMER_SECURITY_PROTOCOL=SASL_SSL
          - CONNECT_SASL_MECHANISM=PLAIN
          - CONNECT_PRODUCER_SASL_MECHANISM=PLAIN
          - CONNECT_CONSUMER_SASL_MECHANISM=PLAIN
          - CONNECT_SASL_JAAS_CONFIG=org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$$ConnectionString\" password=\"${EVENTHUB_CONNECTION_STRING}\";
          - CONNECT_PRODUCER_SASL_JAAS_CONFIG=org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$$ConnectionString\" password=\"${EVENTHUB_CONNECTION_STRING}\";
          - CONNECT_CONSUMER_SASL_JAAS_CONFIG=org.apache.kafka.common.security.plain.PlainLoginModule required username=\"$$ConnectionString\" password=\"${EVENTHUB_CONNECTION_STRING}\";
          - KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter
          - VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter
          - INTERNAL_KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter
          - INTERNAL_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter
          - INTERNAL_KEY_CONVERTER_SCHEMAS_ENABLE=false
          - INTERNAL_VALUE_CONVERTER_SCHEMAS_ENABLE=false
        networks:
          -  debezium-network
        volumes:
          - ./logs:/kafka/cdc-replicator/logs

    networks:
      debezium-network:
        name: debezium-network
  • Additional information about the Debezium Sink connector :
    "name": "debezium-sink-connector",
    "config": {
    "connector.class": "io.debezium.connector.jdbc.JdbcSinkConnector",
    "tasks.max": "4",
    "connection.url": "jdbc:oracle:thin:@XXX",
    "connection.username": "XXX",
    "connection.password": "XXX",
    "auto.create": "true",
    "insert.mode": "upsert",
    "delete.enabled": "true",
    "primary.key.mode": "record_key",
    "primary.key.fields": "id",
    "schema.evolution": "basic",
    "use.time.zone": "UTC",
    "topics.regex": "sqlserver\\.(.*)",
    "collection.name.format": "${source.table}"
    }
  • Here is a sample log coming from Azure Event Hubs :
    {
        "schema": {
            "type": "struct",
            "fields": [
                {
                    "type": "struct",
                    "fields": [
                        {
                            "type": "int32",
                            "optional": false,
                            "field": "id"
                        },
                        {
                            "type": "string",
                            "optional": true,
                            "field": "name"
                        }
                    ],
                    "optional": true,
                    "name": "sqlserver.fr-ltr-cdc-replicator-db-dev-2.dbo.test.Value",
                    "field": "before"
                },
                {
                    "type": "struct",
                    "fields": [
                        {
                            "type": "int32",
                            "optional": false,
                            "field": "id"
                        },
                        {
                            "type": "string",
                            "optional": true,
                            "field": "name"
                        }
                    ],
                    "optional": true,
                    "name": "sqlserver.fr-ltr-cdc-replicator-db-dev-2.dbo.test.Value",
                    "field": "after"
                },
                {
                    "type": "struct",
                    "fields": [
                        {
                            "type": "string",
                            "optional": false,
                            "field": "version"
                        },
                        {
                            "type": "string",
                            "optional": false,
                            "field": "connector"
                        },
                        {
                            "type": "string",
                            "optional": false,
                            "field": "name"
                        },
                        {
                            "type": "int64",
                            "optional": false,
                            "field": "ts_ms"
                        },
                        {
                            "type": "string",
                            "optional": true,
                            "name": "io.debezium.data.Enum",
                            "version": 1,
                            "parameters": {
                                "allowed": "true,first,first_in_data_collection,last_in_data_collection,last,false,incremental"
                            },
                            "default": "false",
                            "field": "snapshot"
                        },
                        {
                            "type": "string",
                            "optional": false,
                            "field": "db"
                        },
                        {
                            "type": "string",
                            "optional": true,
                            "field": "sequence"
                        },
                        {
                            "type": "int64",
                            "optional": true,
                            "field": "ts_us"
                        },
                        {
                            "type": "int64",
                            "optional": true,
                            "field": "ts_ns"
                        },
                        {
                            "type": "string",
                            "optional": false,
                            "field": "schema"
                        },
                        {
                            "type": "string",
                            "optional": false,
                            "field": "table"
                        },
                        {
                            "type": "string",
                            "optional": true,
                            "field": "change_lsn"
                        },
                        {
                            "type": "string",
                            "optional": true,
                            "field": "commit_lsn"
                        },
                        {
                            "type": "int64",
                            "optional": true,
                            "field": "event_serial_no"
                        }
                    ],
                    "optional": false,
                    "name": "io.debezium.connector.sqlserver.Source",
                    "version": 1,
                    "field": "source"
                },
                {
                    "type": "struct",
                    "fields": [
                        {
                            "type": "string",
                            "optional": false,
                            "field": "id"
                        },
                        {
                            "type": "int64",
                            "optional": false,
                            "field": "total_order"
                        },
                        {
                            "type": "int64",
                            "optional": false,
                            "field": "data_collection_order"
                        }
                    ],
                    "optional": true,
                    "name": "event.block",
                    "version": 1,
                    "field": "transaction"
                },
                {
                    "type": "string",
                    "optional": false,
                    "field": "op"
                },
                {
                    "type": "int64",
                    "optional": true,
                    "field": "ts_ms"
                },
                {
                    "type": "int64",
                    "optional": true,
                    "field": "ts_us"
                },
                {
                    "type": "int64",
                    "optional": true,
                    "field": "ts_ns"
                }
            ],
            "optional": false,
            "name": "sqlserver.fr-ltr-cdc-replicator-db-dev-2.dbo.test.Envelope",
            "version": 2
        },
        "payload": {
            "before": {
                "id": 1,
                "name": "HELLO WORLD !                                     "
            },
            "after": {
                "id": 1,
                "name": "HEY                                               "
            },
            "source": {
                "version": "3.1.0.Final",
                "connector": "sqlserver",
                "name": "sqlserver",
                "ts_ms": 1752249497123,
                "snapshot": "false",
                "db": "fr-ltr-cdc-replicator-db-dev-2",
                "sequence": null,
                "ts_us": 1752249497123000,
                "ts_ns": 1752249497123000000,
                "schema": "dbo",
                "table": "test",
                "change_lsn": "00000059:00000ad0:0003",
                "commit_lsn": "00000059:00000ad0:0005",
                "event_serial_no": 2
            },
            "transaction": null,
            "op": "u",
            "ts_ms": 1752249500953,
            "ts_us": 1752249500953575,
            "ts_ns": 1752249500953575581
        }
    }

Chris Cranford

unread,
Jul 15, 2025, 1:02:33 PMJul 15
to debezium
Hi -

Can you enable TRACE logging and make sure that when the JDBC sink connector is started, Kafka Connect reports that the sink's subscription to the sqlserver.* topics finds topics to subscribe to on the broker?

-cc

--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/debezium/ab9bdd7f-ad17-4857-9cb7-8aad611d65e9n%40googlegroups.com.

HC Pro

unread,
Jul 17, 2025, 3:26:34 AMJul 17
to debezium
 Hi Chris,

First of all, thank you for taking the time to help me resolve my issue. I followed the instructions you gave me and enabled TRACE logging. After searching through the logs of my Docker container, the best I could find regarding the subscription to my test topic (sqlserver.fr-ltr-cdc-replicator-db-dev-2.dbo.test) is the following :  

grep -i "subscrib" connect-service.log
2025-07-16 08:00:31,985 INFO   ||  [Consumer clientId=connector-consumer-debezium-sink-connector-2, groupId=connect-debezium-sink-connector] Subscribed to pattern: 'sqlserver\.(.*)'   [org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer]
2025-07-16 08:00:31,985 INFO   ||  [Consumer clientId=connector-consumer-debezium-sink-connector-0, groupId=connect-debezium-sink-connector] Subscribed to pattern: 'sqlserver\.(.*)'   [org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer]
2025-07-16 08:00:31,985 INFO   ||  [Consumer clientId=connector-consumer-debezium-sink-connector-3, groupId=connect-debezium-sink-connector] Subscribed to pattern: 'sqlserver\.(.*)'   [org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer]
2025-07-16 08:00:31,986 INFO   ||  [Consumer clientId=connector-consumer-debezium-sink-connector-1, groupId=connect-debezium-sink-connector] Subscribed to pattern: 'sqlserver\.(.*)'   [org.apache.kafka.clients.consumer.internals.ClassicKafkaConsumer]

If that’s not enough, do you have any keywords you could suggest so I can narrow down my search? There are a lot of logs to go through.  

HC Pro

unread,
Jul 23, 2025, 10:29:22 AMJul 23
to debezium
Hi,

As a reminder, here is the architecture of my project :
  • SQL Server database with CDC enabled.

  • An Azure Container App running a Debezium image with its Debezium Connect connector.

  • An Azure Event Hubs Namespace containing several Azure Event Hubs acting as Kafka topics.

  • An on-premises VM running the same Debezium image with a Debezium Sink connector.

  • Oracle database.

At the moment, the data flow is working correctly from the SQL Server database to Azure Event Hubs. For each change made in the SQL Server database, I can see the logs appearing in the corresponding Event Hubs.

  I've continued my research on my end and found this in the TRACE logs, which confirms that my Debezium Sink connector is indeed connected to my topic and is detecting the log generated by the modification of my SQL Server table. However, nothing is happening in my Oracle database, and if I remove LOG_LEVEL=TRACE, then my container "goes silent" whenever I make a change to the SQL Server table.  

TRACE || WorkerSinkTask{id=debezium-sink-connector-0} Applying transformations to record in topic 'sqlserver.ebx_dev.dbo.test' partition 0 at offset 5 and timestamp 1753274414865 with key Struct{ID=1} and value Struct{before=Struct{ID=1,NAME=Hey},after=Struct{ID=1,NAME=Ho},source=Struct{version=3.1.0.Final,connector=sqlserver,name=sqlserver,ts_ms=1753274409747,snapshot=false,db=EBX_DEV,ts_us=1753274409747000,ts_ns=1753274409747000000,schema=dbo,table=TEST,change_lsn=00000247:00063cb8:0002,commit_lsn=00000247:00063cb8:0003,event_serial_no=2},op=u,ts_ms=1753274414369,ts_us=1753274414369758,ts_ns=1753274414369758860} [org.apache.kafka.connect.runtime.WorkerSinkTask]

Bind field 'NAME' at position 2 with type io.debezium.connector.jdbc.type.connect.ConnectStringType: Ho [io.debezium.connector.jdbc.dialect.GeneralDatabaseDialect]

Chris Cranford

unread,
Jul 23, 2025, 5:45:36 PMJul 23
to debe...@googlegroups.com
Can you please share the full JDBC sink connector log with TRACE logging enabled.
Message has been deleted

Chris Cranford

unread,
Jul 24, 2025, 10:13:14 AMJul 24
to debe...@googlegroups.com
Hi -

It appears that your connector is unable to resolve the target database driver or cannot connect:

    2025-07-24 12:07:24,133 WARN   ||  HHH10001006: No JDBC Driver class was specified by property `jakarta.persistence.jdbc.driver`, `hibernate.driver` or `javax.persistence.jdbc.driver`   [org.hibernate.orm.connections.pooling.c3p0]
    2025-07-24 12:07:54,456 WARN   ||  com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@1d803408 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). Last acquisition attempt exception:    [com.mchange.v2.resourcepool.BasicResourcePool]

Can you please verify the following:

    - The ojdbc11 dependency is installed in the same path as the Debezium JDBC sink connector.
    - There are not multiple versions of ojdbc8 or ojdbc11 on your classpath
    - The `connection.url` is correct
  
You could also try add `hibernate.driver` with the value `oracle.jdbc.OracleDriver`, but this shouldn't be required is is typically indicative of an environment issue of one of the above 3 points I raised.

Hope that helps.
-cc

On 7/24/25 8:47 AM, HC Pro wrote:
Hi,

Here are all the logs from the JDBC Sink connector with TRACE logging enabled.

HC Pro

unread,
Jul 24, 2025, 10:30:29 AMJul 24
to debezium

Hi Chris,

I realized that I had sent the wrong log file in my previous message, which is why I deleted it. I'm sorry about that — I'll get back to you as soon as I can when I have the correct file.

Thanks for your quick response, by the way !

HC Pro

unread,
Jul 25, 2025, 8:40:49 AMJul 25
to debezium
Hi,

This time it's the right file, I promise :)

Thanks again!
logs.zip

Chris Cranford

unread,
Jul 25, 2025, 10:34:54 AMJul 25
to debe...@googlegroups.com
Hi,

There are clearly events being picked up, see below

2025-07-25 08:48:06,823 DEBUG  ||  Received 1 changes.   [io.debezium.connector.jdbc.JdbcSinkConnectorTask]
2025-07-25 08:48:06,823 TRACE  ||  Schema type 'INT32' resolved by name from registry to type 'ConnectInt32Type'   [io.debezium.connector.jdbc.dialect.GeneralDatabaseDialect]
2025-07-25 08:48:06,823 TRACE  ||  Field [ID] with schema [INT32]   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||      Type      : io.debezium.connector.jdbc.type.connect.ConnectInt32Type   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||      Type Name : number(10,0)   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||      Optional  : false   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||  Schema type 'STRING' resolved by name from registry to type 'ConnectStringType'   [io.debezium.connector.jdbc.dialect.GeneralDatabaseDialect]
2025-07-25 08:48:06,823 TRACE  ||  Field [NAME] with schema [STRING]   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||      Type      : io.debezium.connector.jdbc.type.connect.ConnectStringType   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||      Type Name : clob   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||      Optional  : true   [io.debezium.connector.jdbc.JdbcSinkRecord$FieldDescriptor]
2025-07-25 08:48:06,823 TRACE  ||  Processing io.debezium.connector.jdbc.JdbcKafkaSinkRecord@786cd0aa   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,828 DEBUG  ||  Attempting to alter table 'TEST'.   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,856 DEBUG  ||  Schema change detected for 'user_id.TEST', missing fields: []   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,857 TRACE  ||  [PERF] Resolve and add record execution time for collection 'TEST':   0.03299s total;   1 samples;  0.03299s avg;  0.03299s min;  0.03299s max   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,857 DEBUG  ||  Flushing records in JDBC Writer for table: TEST   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,857 DEBUG  ||  Flushing records in JDBC Writer for table: TEST   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,857 DEBUG  ||  Flushing records in JDBC Writer for table: TEST   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,860 DEBUG  ||  Attempting to alter table 'TEST'.   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,886 TRACE  ||  Bind field 'ID' at position 1 with type io.debezium.connector.jdbc.type.connect.ConnectInt32Type: 1   [io.debezium.connector.jdbc.dialect.GeneralDatabaseDialect]
2025-07-25 08:48:06,886 TRACE  ||  Bind field 'NAME' at position 2 with type io.debezium.connector.jdbc.type.connect.ConnectStringType: Hello   [io.debezium.connector.jdbc.dialect.GeneralDatabaseDialect]
2025-07-25 08:48:06,886 TRACE  ||  [PERF] Bind single record execution time   0.00009s total;   1 samples;  0.00009s avg;  0.00009s min;  0.00009s max   [io.debezium.connector.jdbc.RecordWriter]
2025-07-25 08:48:06,886 TRACE  ||  [PERF] Add batch execution time   0.00001s total;   1 samples;  0.00001s avg;  0.00001s min;  0.00001s max   [io.debezium.connector.jdbc.RecordWriter]
2025-07-25 08:48:06,886 TRACE  ||  [PERF] All records bind execution time   0.00049s total;   1 samples;  0.00049s avg;  0.00049s min;  0.00049s max   [io.debezium.connector.jdbc.RecordWriter]
2025-07-25 08:48:06,888 TRACE  ||  [PERF] Execute batch execution time   0.00180s total;   1 samples;  0.00180s avg;  0.00180s min;  0.00180s max   [io.debezium.connector.jdbc.RecordWriter]
2025-07-25 08:48:06,890 TRACE  ||  [PERF] Total write execution time   0.00477s total;   1 samples;  0.00477s avg;  0.00477s min;  0.00477s max   [io.debezium.connector.jdbc.RecordWriter]
2025-07-25 08:48:06,891 TRACE  ||  [PERF] Flush buffer execution time   0.00495s total;   1 samples;  0.00495s avg;  0.00495s min;  0.00495s max   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,891 TRACE  ||  [PERF] Table changes execution time   0.02844s total;   1 samples;  0.02844s avg;  0.02844s min;  0.02844s max   [io.debezium.connector.jdbc.JdbcChangeEventSink]
2025-07-25 08:48:06,891 TRACE  ||  Marking processed record for topic sqlserver.ebx_dev.dbo.test   [io.debezium.connector.jdbc.JdbcSinkConnectorTask]
2025-07-25 08:48:06,891 TRACE  ||  Updated topic sqlserver.ebx_dev.dbo.test from offset 13 to 13.   [io.debezium.connector.jdbc.JdbcSinkConnectorTask]
2025-07-25 08:48:06,891 TRACE  ||  [PERF] Total put execution time   0.06765s total;   1 samples;  0.06765s avg;  0.06765s min;  0.06765s max   [io.debezium.connector.jdbc.JdbcSinkConnectorTask]
2025-07-25 08:48:06,891 TRACE  ||  [PERF] Sink execute execution time   0.06760s total;   1 samples;  0.06760s avg;  0.06760s min;  0.06760s max   [io.debezium.connector.jdbc.JdbcSinkConnectorTask]
2025-07-25 08:48:06,891 TRACE  ||  [PERF] Mark processed execution time   0.00003s total;   1 samples;  0.00003s avg;  0.00003s min;  0.00003s max   [io.debezium.connector.jdbc.JdbcSinkConnectorTask]

So I am confused on what exactly is the concern? 

Is it about the errors at the startup of the connector that read:
java.sql.SQLSyntaxErrorException: ORA-00910: specified length too long for its datatype

-cc
--
You received this message because you are subscribed to the Google Groups "debezium" group.
To unsubscribe from this group and stop receiving emails from it, send an email to debezium+u...@googlegroups.com.

HC Pro

unread,
Jul 25, 2025, 11:02:08 AMJul 25
to debezium
Hi Chris,

I ended up finding the root cause of the issue by chance, and it was something very simple : the Oracle database credentials provided to the connector were incorrect. Because of the project’s complex architecture, I didn’t realize that the Oracle credentials weren’t working properly. The data pipeline started working once I replaced the Oracle credentials in the Debezium Sink connector.

What’s unfortunate is that the Debezium Sink connector never alerted us that it was having trouble with the credentials.

I want to thank you very much for helping us and pointing us in the right direction, especially by suggesting we enable TRACE logging.

Reply all
Reply to author
Forward
0 new messages