Skip to content

MySQL CDC replication fails with 'All the defined primary keys are null' error for valid records #67711

@norus

Description

@norus

Connector Name

source-mysql

Connector Version

3.50.2

What step the error happened?

During the sync

Relevant information

Environment:

  • Source: MySQL (AWS RDS) - 8.0.40
  • Destination: BigQuery
  • Source Connector Version: airbyte/source-mysql:3.50.2
  • Destination Connector Version: airbyte/destination-bigquery:3.0.8
  • Airbyte Platform Version: 1.7.1

Error Details:

  • Error Message: All the defined primary keys are null, the primary keys are: id
  • Error Type: io.airbyte.workers.internal.exception.SourceException
  • Error Location: BasicAirbyteMessageValidator.validate(BasicAirbyteMessageValidator.java:78)
  • Primary Key Field: id (INTEGER type)

Relevant log output

2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-14 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_10.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-15 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_9.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-10 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_6.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-1 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_1.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-4 i.a.c.l.f.ClientSocket(connect):42 Socket file /var/run/sockets/airbyte_socket_11.sock opened
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-7 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_3.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-16 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_12.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-4 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_11.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-12 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_7.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-13 i.a.c.l.f.ClientSocket(connect):42 Socket file /var/run/sockets/airbyte_socket_8.sock opened
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-11 i.a.c.l.f.ClientSocket(connect):42 Socket file /var/run/sockets/airbyte_socket_5.sock opened
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-9 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_4.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-13 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_8.sock connected for reading
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-9#global-round-1-acquire-resources i.a.c.r.FeedReader(acquirePartitionsCreatorResources):135 acquired resources to create partitions for 'global' in round 1
2025-10-13 18:07:04 info INFO DefaultDispatcher-worker-11 i.a.c.l.f.ClientSocket(connect):52 Socket file /var/run/sockets/airbyte_socket_5.sock connected for reading
2025-10-13 18:07:04 error DestinationReader error: 
2025-10-13 18:07:04 info DestinationReader finished.
2025-10-13 18:07:04 info MessageProcessor finished.
2025-10-13 18:07:04 error SourceReader error: 
2025-10-13 18:07:04 info SourceReader finished.
2025-10-13 18:07:04 error runJobs failed; recording failure but continuing to finish.
2025-10-13 18:07:04 info Closing StateCheckSumCountEventHandler
2025-10-13 18:07:04 info Sync summary: {
  "status" : "failed",
  "startTime" : 1760371622164,
  "endTime" : 1760371624356,
  "totalStats" : {
    "bytesEmitted" : 0,
    "destinationStateMessagesEmitted" : 0,
    "destinationWriteEndTime" : 0,
    "destinationWriteStartTime" : 1760371622280,
    "meanSecondsBeforeSourceStateMessageEmitted" : 0,
    "maxSecondsBeforeSourceStateMessageEmitted" : 0,
    "meanSecondsBetweenStateMessageEmittedandCommitted" : 0,
    "recordsEmitted" : 0,
    "recordsFilteredOut" : 0,
    "bytesFilteredOut" : 0,
    "replicationEndTime" : 1760371624352,
    "replicationStartTime" : 1760371622164,
    "sourceReadEndTime" : 0,
    "sourceReadStartTime" : 1760371622281,
    "sourceStateMessagesEmitted" : 0
  },
  "streamStats" : [ ],
  "performanceMetrics" : { }
}
2025-10-13 18:07:04 info Failures: [ {
  "failureOrigin" : "source",
  "internalMessage" : "All the defined primary keys are null, the primary keys are: id",
  "externalMessage" : "Something went wrong within the source connector",
  "metadata" : {
    "attemptNumber" : 0,
    "jobId" : 18852,
    "connector_command" : "read"
  },
  "stacktrace" : "io.airbyte.workers.internal.exception.SourceException: All the defined primary keys are null, the primary keys are: id\n\tat io.airbyte.workers.internal.BasicAirbyteMessageValidator.validate(BasicAirbyteMessageValidator.java:78)\n\tat io.airbyte.workers.internal.VersionedAirbyteStreamFactory.toAirbyteMessage$io_airbyte_airbyte_commons_worker(VersionedAirbyteStreamFactory.kt:254)\n\tat io.airbyte.workers.internal.VersionedAirbyteStreamFactory.addLineReadLogic$lambda$6(VersionedAirbyteStreamFactory.kt:136)\n\tat io.airbyte.workers.internal.VersionedAirbyteStreamFactory.addLineReadLogic$lambda$7(VersionedAirbyteStreamFactory.kt:136)\n\tat java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273)\n\tat java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1950)\n\tat java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:292)\n\tat java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)\n\tat java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161)\n\tat java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:298)\n\tat java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)\n\tat io.airbyte.container.orchestrator.worker.io.LocalContainerAirbyteDestination.isFinished(LocalContainerAirbyteDestination.kt:110)\n\tat io.airbyte.container.orchestrator.worker.DestinationReader.isDestinationFinished(ReplicationTask.kt:70)\n\tat io.airbyte.container.orchestrator.worker.DestinationReader.run(ReplicationTask.kt:36)\n\tat io.airbyte.container.orchestrator.worker.ReplicationWorker$runJobs$2$tasks$1$1.invokeSuspend(ReplicationWorker.kt:151)\n\tat io.airbyte.container.orchestrator.worker.ReplicationWorker$runJobs$2$tasks$1$1.invoke(ReplicationWorker.kt)\n\tat io.airbyte.container.orchestrator.worker.ReplicationWorker$runJobs$2$tasks$1$1.invoke(ReplicationWorker.kt)\n\tat io.airbyte.container.orchestrator.worker.util.AsyncUtils$runAsync$1$1.invokeSuspend(AsyncUtils.kt:22)\n\tat io.airbyte.container.orchestrator.worker.util.AsyncUtils$runAsync$1$1.invoke(AsyncUtils.kt)\n\tat io.airbyte.container.orchestrator.worker.util.AsyncUtils$runAsync$1$1.invoke(AsyncUtils.kt)\n\tat kotlinx.coroutines.intrinsics.UndispatchedKt.startUndspatched(Undispatched.kt:66)\n\tat kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:43)\n\tat kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)\n\tat kotlinx.coroutines.BuildersKt.withContext(Unknown Source)\n\tat io.airbyte.container.orchestrator.worker.util.AsyncUtils$runAsync$1.invokeSuspend(AsyncUtils.kt:21)\n\tat kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)\n\tat kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n",
  "timestamp" : 1760371624351
} ]

Contribute

  • Yes, I want to contribute

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions