[Sources-MySQL] MySQL TINYINT(1) CDC sync produces “invalid number value false” error when syncing to Redshift #70380
Unanswered
duongdr
asked this question in
Connector Questions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I am using Airbyte version 2.0.1 with the following setup:
tinyInt1isBit=falseDuring the initial full load, MySQL columns with type TINYINT(1) were synced successfully, and the destination column type in Redshift was correctly created as INT, which is the expected behavior.
However, during subsequent CDC sync runs, Airbyte throws the following error:
source ERROR main i.a.c.AirbyteConnectorRunnable(run):38 Failed class io.airbyte.cdk.read.ReadOperation operation execution. java.lang.IllegalArgumentException: invalid number value false at io.airbyte.cdk.data.ShortCodec.decode(JsonCodec.kt:133) ~[bulk-cdk-core-base-0.1.77.jar:?] at io.airbyte.cdk.data.ShortCodec.decode(JsonCodec.kt:128) ~[bulk-cdk-core-base-0.1.77.jar:?] at io.airbyte.integrations.source.mysql.MySqlSourceDebeziumOperations.deserializeRecord-0vE2DaM(MySqlSourceDebeziumOperations.kt:141) ~[io.airbyte.airbyte-integrations.connectors-source-mysql.jar:?] at io.airbyte.cdk.read.cdc.CdcPartitionReader$EventConsumer.emitRecord(CdcPartitionReader.kt:324) ~[bulk-cdk-toolkit-extract-cdc-0.1.77.jar:?]It seems that during CDC events, Debezium still interprets TINYINT(1) as a boolean, causing values like false to appear instead of 0 or 1, even though tinyInt1isBit=false is set. The destination then fails because it expects a numeric value.
Expected Behavior
I want Airbyte to always preserve MySQL TINYINT(1) values exactly as 0 or 1, both in full load and CDC sync, without converting them to boolean.
Question
What configuration or workaround should I use to ensure that MySQL TINYINT(1) values are treated strictly as integers during CDC sync, so the destination continues receiving 0 and 1 instead of true/false?
Beta Was this translation helpful? Give feedback.
All reactions