Closed sridevs closed 4 months ago
What's the error when you try to use org.apache.kafka.connect.json.JsonConverter
?
The streams are not being sent to snowflake. Not sure of the exact error. I found these below logs though
2023-08-04 02:00:23,238 INFO [AdminClient clientId=adminclient-10] Node 3 disconnected. (org.apache.kafka.clients.NetworkClient) [kafka-admin-client-thread | adminclient-10] 2023-08-04 02:00:23,238 INFO [AdminClient clientId=adminclient-10] Node 1 disconnected. (org.apache.kafka.clients.NetworkClient) [kafka-admin-client-thread | adminclient-10] 2023-08-04 02:00:23,390 INFO [AdminClient clientId=adminclient-10] Node 0 disconnected. (org.apache.kafka.clients.NetworkClient) [kafka-admin-client-thread | adminclient-10]
Alternatively, If I set decimal.handling.mode: double
in my source connecter which is io.debezium.connector.sqlserver.SqlServerConnector, it correctly converts and sends as double.
I'm not sure why org.apache.kafka.connect.json.JsonConverter is not working. Maybe there's a compatibility issue with com.snowflake.kafka.connector.SnowflakeSinkConnector and org.apache.kafka.connect.json.JsonConverter
org.apache.kafka.connect.json.JsonConverter should work in theory, please send us your configuration as well as full logs through Snowflake support and we should be able to help you further
"ITQ=" is not hex, it is probably base64, which from what I see is the root cause for this issue: https://github.com/snowflakedb/snowflake-kafka-connector/issues/704
closing due to inactivity. please reopen if issue isn't solved and still arises.
Snowflake Kakfa Connector version - 1.8.2
SnowflakeJsonConverter converts decimal values to binary hex strings. In the below payload, price is "ITQ=" whereas it should be 8.5.
Schema of price field received in the payload for reference
My config spec
Looks like kafka has a fix for this - https://issues.apache.org/jira/browse/KAFKA-8595
But unable to use this. I tried using kafka json converter, but it doesn't work. snowflake sink connector is not using this converter so the cdc doesn't get captured.
Any solution or workaround?