Skip to content

CDC gRPC Connector can crash if applied filter filters out all the records during snapshot phase #28684

@yugabyte-ci

Description

@yugabyte-ci

Jira Link: DB-18382

The gRPC connector crashes with NPE when all the records of a table is filtered during the snapshot phase

2025-09-16 00:30:51,165 WARN YugabyteDB|cogh-7-3|snapshot|0 Error while trying to get the snapshot from the server; will attempt retry 3 of 5 after 60000 milli-seconds. Exception: {} [io.debezium.connector.yugabytedb.YugabyteDBSnapshotChangeEventSource] java.lang.NullPointerException at com.shaded.google.protobuf.ByteString.copyFrom(ByteString.java:409) at io.debezium.connector.yugabytedb.YugabyteDBSnapshotChangeEventSource.isLastSnapshotRecordOfLastBatch(YugabyteDBSnapshotChangeEventSource.java:846) at io.debezium.connector.yugabytedb.YugabyteDBSnapshotChangeEventSource.doSnapshotCompletionCheck(YugabyteDBSnapshotChangeEventSource.java:789) at io.debezium.connector.yugabytedb.YugabyteDBSnapshotChangeEventSource.doExecute(YugabyteDBSnapshotChangeEventSource.java:488) at io.debezium.connector.yugabytedb.YugabyteDBSnapshotChangeEventSource.execute(YugabyteDBSnapshotChangeEventSource.java:161) at io.debezium.connector.yugabytedb.YugabyteDBSnapshotChangeEventSource.execute(YugabyteDBSnapshotChangeEventSource.java:50) at io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:155) at io.debezium.connector.yugabytedb.YugabyteDBChangeEventSourceCoordinator.executeChangeEventSources(YugabyteDBChangeEventSourceCoordinator.java:111) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:109) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions