Summary
Encountering error deserializing data in MySQL connector for CDC related to missing TableMapEventData. Similar issue found in GitHub threads. Increased database parameters but problem persists.
Question
Hi Community,
We keep encountering this error:
Failed to deserialize data of EventHeaderV4{timestamp=1728603634000, eventType=WRITE_ROWS, serverId=1, headerLength=19, dataLength=286, nextPosition=163941850, flags=0}
No TableMapEventData has been found for table id:299705. Usually that means that you have started reading binary log ‘within the logical event group’ (e.g. from WRITE_ROWS and not proceeding TABLE_MAP.
We are using the Airbyte MySQL connector for CDC.
I came across a similar issue in another thread:
https://github.com/airbytehq/airbyte/pull/20438
https://github.com/airbytehq/airbyte/issues/17372
We have already increased the recommended database parameters. However, the problem persists. Has anyone else had similar experiences? Thank you so much 
This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want
to access the original thread.
Join the conversation on Slack
["error-deserialization", "mysql-connector", "cdc", "tablemapeventdata", "github-thread"]
With my colleague, we had this issue https://github.com/airbytehq/airbyte/issues/32586. How many streams do you have in a connection?
We have 24 streams. Do you think that could be the issue?
I think the issue is somewhere in the code, but we managed to find a “solution” for that. Our workaround was to divide streams into multiple connections, 10 streams per single connection.
So you think that if I split our 24 streams into 3 configurations, this error might stop occurring?
I think it’s worth giving a try. If it’s stupid but it works, it’s not stupid 
That’s great, thank you so much. I have to admit I was feeling a bit frustrated because most of the signs pointed to connection issues, so we increased the timeouts, but the error appeared again the next day
Just one more question: is it okay to have so many connectors set up to the same database?
You need to monitor load on database.
Few ideas:
• distribute synchronizations in Airbyte, schedule them at different times, so they won’t be running simultaneously
• create read replica
We are already reading from a replica. But I’m not sure if we can prevent two connectors from reading data at the same time. It might happen that they collide, especially when a new stream is added, which could take longer to process, etc. Have you experienced any issues with this?
Long time ago I got an advice from my colleague: “don’t try to solve a problem you don’t have” 
I wouldn’t worry much about future problems. I would divide streams into multiple connections first.
How much CPU load do you have when running synchronizations on read replica?
Yes, that’s a nice piece of wisdom 
I’m afraid I don’t know what the load is, but I’ll ask our admins.
So, I have split our streams into 3 configurations, but unfortunately, the error keeps occurring 