Hi everyone! We're running Airbyte OSS (self-hoste...
# replication-troubleshooting
g
Hi everyone! We're running Airbyte OSS (self-hosted) with source-mysql v3.51.5, connecting to a DigitalOcean Managed MySQL instance. We're hitting the exact issue described in #75558 and discussion #74305: Failure in source: Incumbent CDC state is invalid, reason: java.lang.NullPointerException: Cannot invoke "io.debezium.connector.mysql.gtid.MySqlGtidSet$UUIDSet.getUUID()" because "other" is null Some context that might help narrow this down: - This started failing right after a DO-managed maintenance/update event on our MySQL instance (no changes on our end, no connector version change — we're self-hosted so upgrades are manual). - Our server's GTID_EXECUTED currently contains multiple historical server UUIDs (9 in production), accumulated over past failovers/maintenance events over time. This has been the case for a long time without issues. - A full "Clear data + resync" temporarily fixes it, but the very next incremental sync fails again with the same error — consistently, without any further infrastructure change in between. We understand there's a confirmed upstream fix (Debezium DBZ-9682, bumping to 3.4.2.Final) but it hasn't landed in a released source-mysql version yet. Question: does anyone know exactly what the "Incumbent CDC state" validation compares internally? Specifically — is it comparing against GTID_EXECUTED, GTID_PURGED, or the difference between the two? Trying to understand precisely what changes on the MySQL side (e.g. a UUID's range becoming fully purged from retained binlogs) triggers the mismatch, so we can anticipate/avoid it rather than just resetting reactively each time. Thanks in advance for any insight!