martin1986 created FLINK-38688:
----------------------------------
Summary: JdbcIncrementalSource with StartupOptions.initial()
fails, while StartupOptions.latest() and legacy PostgreSQLSource work (Flink
CDC 3.5)
Key: FLINK-38688
URL: https://issues.apache.org/jira/browse/FLINK-38688
Project: Flink
Issue Type: Bug
Components: Flink CDC
Affects Versions: 3.0.0
Reporter: martin1986
{{JdbcIncrementalSource}} with {{StartupOptions.initial()}} fails, while
{{StartupOptions.latest()}} and legacy PostgreSQLSource work (Flink CDC 3.5)
----
*Description*
I’m using *Flink CDC 3.5* with PostgreSQL and ran into an issue when migrating
from the legacy {{PostgreSQLSource}} to the new {{JdbcIncrementalSource}}
({{{}PostgresIncrementalSource{}}}).
When I configure the source with *{{StartupOptions.initial()}}* (expecting a
_full snapshot + incremental_ pipeline), the job fails at runtime with an
exception.
However, if I change the configuration to {*}{{StartupOptions.latest()}}{*},
the job starts and runs normally (only consuming binlog changes).
With the {*}same database/table/slot{*}, the legacy {{PostgreSQLSource}} can
successfully read the {*}full snapshot{*}, so it does not look like a
table/permission issue but rather something specific to the new
{{JdbcIncrementalSource}} in 3.5.
----
*Code Snippets*
h3. 1. JdbcIncrementalSource (failing with {{{}initial(){}}})
{{JdbcIncrementalSource<String> postgresSource =
PostgresSourceBuilder.PostgresIncrementalSource.<String>builder()
.hostname(cfg.getFundCdc().getHostname())
.port(cfg.getFundCdc().getPort())
.database(cfg.getFundCdc().getDatabase())
.schemaList(cfg.getFundCdc().getSchema())
.tableList(cfg.getFundCdc().getTableList().toArray(new String[0]))
.username(cfg.getFundCdc().getUsername())
.password(cfg.getFundCdc().getPassword())
.decodingPluginName("pgoutput")
.slotName(cfg.getFundCdc().getSlotName()) // This causes the job
to fail .startupOptions(StartupOptions.initial())
.debeziumProperties(props)
.deserializer(new JsonDebeziumDeserializationSchema())
.build();}} * With {{.startupOptions(StartupOptions.initial())}} → the
job fails with an exception.
* If I change this line to {{.startupOptions(StartupOptions.latest())}} → the
job runs successfully.
----
h3. 2. Legacy PostgreSQLSource (works fine with full snapshot)
Using the legacy {{PostgreSQLSource}} with the same configuration is able to
perform a full snapshot without any error:
{{SourceFunction<String> postgresSource = PostgreSQLSource.<String>builder()
.hostname(cfg.getFundCdc().getHostname())
.port(cfg.getFundCdc().getPort())
.database(cfg.getFundCdc().getDatabase())
.schemaList(cfg.getFundCdc().getSchema()) // dot needs to be
escaped .tableList("nova-fund\\.player_transaction")
.username(cfg.getFundCdc().getUsername())
.password(cfg.getFundCdc().getPassword())
.decodingPluginName("pgoutput")
.slotName(cfg.getFundCdc().getSlotName())
.deserializer(new JsonDebeziumDeserializationSchema())
.build();}}
This source correctly reads all *snapshot data* from
{{{}nova-fund.player_transaction{}}}.
----
*Expected Behavior*
* {{JdbcIncrementalSource}} with {{StartupOptions.initial()}} should:
** take an initial snapshot of {{nova-fund.player_transaction}} (the table
{*}does have a primary key{*}),
** and then continue to read changes from the replication slot.
----
*Actual Behavior*
* With {{{}StartupOptions.initial(){}}}:
** The job fails during startup / initial snapshot phase with an exception.
* With {{{}StartupOptions.latest(){}}}:
** The job starts and runs normally, consuming only incremental changes.
* With the legacy {{{}PostgreSQLSource{}}}:
** Full snapshot + further changes works fine with the same table and slot.
----
*Environment*
* Flink CDC: 3.5
* Database: PostgreSQL (logical decoding plugin: {{{}pgoutput{}}})
* Table: {{nova-fund.player_transaction}}
** primary key is defined
* Deserializer: {{JsonDebeziumDeserializationSchema}}
----
*Error / Stack Trace*
d.p.s.AbstractSnapshotChangeEventSource - Snapshot - Final stage
[2025-11-09 21:28:15.558] [INFO ] [pool-11-thread-1] [dev] [jobId=unknown-job]
[host=dev-ubuntu-002] i.d.j.JdbcConnection - Connection gracefully closed
[2025-11-09 21:28:15.559] [INFO ] [pool-12-thread-1] [dev] [jobId=unknown-job]
[host=dev-ubuntu-002] i.d.j.JdbcConnection - Connection gracefully closed
[2025-11-09 21:28:15.586] [INFO ] [pool-13-thread-1] [dev] [jobId=unknown-job]
[host=dev-ubuntu-002] i.d.j.JdbcConnection - Connection gracefully closed
[2025-11-09 21:28:15.587] [ERROR] [debezium-snapshot-reader-8] [dev]
[jobId=unknown-job] [host=dev-ubuntu-002]
o.a.f.c.c.b.s.r.e.IncrementalSourceScanFetcher - Execute snapshot read task for
snapshot split SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null} fail
io.debezium.DebeziumException: java.lang.NullPointerException
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.executeDataSnapshot(PostgresScanFetchTask.java:112)
at
org.apache.flink.cdc.connectors.base.source.reader.external.AbstractScanFetchTask.execute(AbstractScanFetchTask.java:71)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.execute(PostgresScanFetchTask.java:86)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.lambda$submitTask$1(IncrementalSourceScanFetcher.java:100)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.createDataEvents(PostgresScanFetchTask.java:268)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:255)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:211)
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)
... 7 more
[2025-11-09 21:28:15.961] [WARN ] [Source Data Fetcher for Source: pg-cdc-fund
-> Sink: Print to Std. Out (9/24)#0] [dev] [jobId=unknown-job]
[host=dev-ubuntu-002] o.a.f.c.c.b.s.r.IncrementalSourceSplitReader - fetch data
failed.
org.apache.flink.util.FlinkRuntimeException: Read split
SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.checkReadException(IncrementalSourceScanFetcher.java:205)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollWithBuffer(IncrementalSourceScanFetcher.java:156)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollSplitRecords(IncrementalSourceScanFetcher.java:122)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.pollSplitRecords(IncrementalSourceSplitReader.java:161)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:98)
at
org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:165)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:117)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: io.debezium.DebeziumException: java.lang.NullPointerException
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.executeDataSnapshot(PostgresScanFetchTask.java:112)
at
org.apache.flink.cdc.connectors.base.source.reader.external.AbstractScanFetchTask.execute(AbstractScanFetchTask.java:71)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.execute(PostgresScanFetchTask.java:86)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.lambda$submitTask$1(IncrementalSourceScanFetcher.java:100)
... 3 more
Caused by: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.createDataEvents(PostgresScanFetchTask.java:268)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:255)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:211)
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)
... 7 more
[2025-11-09 21:28:15.964] [ERROR] [Source Data Fetcher for Source: pg-cdc-fund
-> Sink: Print to Std. Out (9/24)#0] [dev] [jobId=unknown-job]
[host=dev-ubuntu-002] o.a.f.c.b.s.r.f.SplitFetcherManager - Received uncaught
exception.
java.lang.RuntimeException: SplitFetcher thread 0 received unexpected exception
while polling the records
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:168)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:117)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.io.IOException: org.apache.flink.util.FlinkRuntimeException:
Read split SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:101)
at
org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:165)
... 7 more
Caused by: org.apache.flink.util.FlinkRuntimeException: Read split
SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.checkReadException(IncrementalSourceScanFetcher.java:205)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollWithBuffer(IncrementalSourceScanFetcher.java:156)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollSplitRecords(IncrementalSourceScanFetcher.java:122)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.pollSplitRecords(IncrementalSourceSplitReader.java:161)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:98)
... 9 more
Caused by: io.debezium.DebeziumException: java.lang.NullPointerException
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.executeDataSnapshot(PostgresScanFetchTask.java:112)
at
org.apache.flink.cdc.connectors.base.source.reader.external.AbstractScanFetchTask.execute(AbstractScanFetchTask.java:71)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.execute(PostgresScanFetchTask.java:86)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.lambda$submitTask$1(IncrementalSourceScanFetcher.java:100)
... 3 more
Caused by: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.createDataEvents(PostgresScanFetchTask.java:268)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:255)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:211)
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)
... 7 more
[2025-11-09 21:28:15.969] [INFO ] [Source: pg-cdc-fund -> Sink: Print to Std.
Out (9/24)#0] [dev] [jobId=unknown-job] [host=dev-ubuntu-002]
o.a.f.c.b.s.r.SourceReaderBase - Closing Source Reader.
[2025-11-09 21:28:15.970] [INFO ] [Source: pg-cdc-fund -> Sink: Print to Std.
Out (9/24)#0] [dev] [jobId=unknown-job] [host=dev-ubuntu-002]
o.a.f.c.b.s.r.f.SplitFetcher - Shutting down split fetcher 0
[2025-11-09 21:28:15.990] [INFO ] [pool-14-thread-1] [dev] [jobId=unknown-job]
[host=dev-ubuntu-002] i.d.j.JdbcConnection - Connection gracefully closed
[2025-11-09 21:28:15.991] [INFO ] [Source Data Fetcher for Source: pg-cdc-fund
-> Sink: Print to Std. Out (9/24)#0] [dev] [jobId=unknown-job]
[host=dev-ubuntu-002] o.a.f.c.b.s.r.f.SplitFetcher - Split fetcher 0 exited.
[2025-11-09 21:28:15.997] [WARN ] [Source: pg-cdc-fund -> Sink: Print to Std.
Out (9/24)#0] [dev] [jobId=unknown-job] [host=dev-ubuntu-002] o.a.f.r.t.Task -
Source: pg-cdc-fund -> Sink: Print to Std. Out (9/24)#0
(3e49993d76fa194813ae301c672f5e17_cbc357ccb763df2852fee8c4fc7d55f2_8_0)
switched from RUNNING to FAILED with failure cause:
java.lang.RuntimeException: One or more fetchers have encountered exception
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager.checkErrors(SplitFetcherManager.java:333)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.getNextFetch(SourceReaderBase.java:228)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:190)
at
org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:443)
at
org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
at
org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:638)
at
org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:973)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:917)
at
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:970)
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:949)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:763)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.RuntimeException: SplitFetcher thread 0 received
unexpected exception while polling the records
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:168)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:117)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
... 1 more
Caused by: java.io.IOException: org.apache.flink.util.FlinkRuntimeException:
Read split SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:101)
at
org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:165)
... 7 more
Caused by: org.apache.flink.util.FlinkRuntimeException: Read split
SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.checkReadException(IncrementalSourceScanFetcher.java:205)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollWithBuffer(IncrementalSourceScanFetcher.java:156)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollSplitRecords(IncrementalSourceScanFetcher.java:122)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.pollSplitRecords(IncrementalSourceSplitReader.java:161)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:98)
... 9 more
Caused by: io.debezium.DebeziumException: java.lang.NullPointerException
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.executeDataSnapshot(PostgresScanFetchTask.java:112)
at
org.apache.flink.cdc.connectors.base.source.reader.external.AbstractScanFetchTask.execute(AbstractScanFetchTask.java:71)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.execute(PostgresScanFetchTask.java:86)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.lambda$submitTask$1(IncrementalSourceScanFetcher.java:100)
... 3 more
Caused by: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.createDataEvents(PostgresScanFetchTask.java:268)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:255)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:211)
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)
... 7 more
[2025-11-09 21:28:16.004] [INFO ] [Source: pg-cdc-fund -> Sink: Print to Std.
Out (9/24)#0] [dev] [jobId=unknown-job] [host=dev-ubuntu-002] o.a.f.r.t.Task -
Freeing task resources for Source: pg-cdc-fund -> Sink: Print to Std. Out
(9/24)#0
(3e49993d76fa194813ae301c672f5e17_cbc357ccb763df2852fee8c4fc7d55f2_8_0).
[2025-11-09 21:28:16.034] [INFO ] [flink-pekko.actor.default-dispatcher-8]
[dev] [jobId=unknown-job] [host=dev-ubuntu-002] o.a.f.r.t.TaskExecutor -
Un-registering task and sending final execution state FAILED to JobManager for
task Source: pg-cdc-fund -> Sink: Print to Std. Out (9/24)#0
3e49993d76fa194813ae301c672f5e17_cbc357ccb763df2852fee8c4fc7d55f2_8_0.
[2025-11-09 21:28:16.061] [INFO ] [flink-pekko.actor.default-dispatcher-7]
[dev] [jobId=unknown-job] [host=dev-ubuntu-002] o.a.f.r.e.ExecutionGraph -
Source: pg-cdc-fund -> Sink: Print to Std. Out (9/24)
(3e49993d76fa194813ae301c672f5e17_cbc357ccb763df2852fee8c4fc7d55f2_8_0)
switched from RUNNING to FAILED on 926d3be8-d86b-4ef9-980a-69c8233e976d @
localhost (dataPort=-1).
java.lang.RuntimeException: One or more fetchers have encountered exception
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager.checkErrors(SplitFetcherManager.java:333)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.getNextFetch(SourceReaderBase.java:228)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:190)
at
org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:443)
at
org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
at
org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:638)
at
org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:973)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:917)
at
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:970)
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:949)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:763)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.RuntimeException: SplitFetcher thread 0 received
unexpected exception while polling the records
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:168)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:117)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
... 1 more
Caused by: java.io.IOException: org.apache.flink.util.FlinkRuntimeException:
Read split SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:101)
at
org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:165)
... 7 more
Caused by: org.apache.flink.util.FlinkRuntimeException: Read split
SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.checkReadException(IncrementalSourceScanFetcher.java:205)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollWithBuffer(IncrementalSourceScanFetcher.java:156)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollSplitRecords(IncrementalSourceScanFetcher.java:122)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.pollSplitRecords(IncrementalSourceSplitReader.java:161)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:98)
... 9 more
Caused by: io.debezium.DebeziumException: java.lang.NullPointerException
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.executeDataSnapshot(PostgresScanFetchTask.java:112)
at
org.apache.flink.cdc.connectors.base.source.reader.external.AbstractScanFetchTask.execute(AbstractScanFetchTask.java:71)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.execute(PostgresScanFetchTask.java:86)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.lambda$submitTask$1(IncrementalSourceScanFetcher.java:100)
... 3 more
Caused by: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.createDataEvents(PostgresScanFetchTask.java:268)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:255)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:211)
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)
... 7 more
[2025-11-09 21:28:16.072] [INFO ] [flink-pekko.actor.default-dispatcher-8]
[dev] [jobId=unknown-job] [host=dev-ubuntu-002]
o.a.f.r.r.s.FineGrainedSlotManager - Received resource requirements from job
897c3635a63b0f571da45355d867e00d:
[ResourceRequirement\{resourceProfile=ResourceProfile{UNKNOWN},
numberOfRequiredSlots=23}]
[2025-11-09 21:28:16.078] [INFO ] [SourceCoordinator-Source: pg-cdc-fund] [dev]
[jobId=unknown-job] [host=dev-ubuntu-002] o.a.f.r.s.c.SourceCoordinator -
Removing registered reader after failure for subtask 8 (#0) of source Source:
pg-cdc-fund.
[2025-11-09 21:28:16.083] [INFO ] [flink-pekko.actor.default-dispatcher-7]
[dev] [jobId=unknown-job] [host=dev-ubuntu-002] o.a.f.r.e.ExecutionGraph - Job
nova-fund-game-player-cdc (897c3635a63b0f571da45355d867e00d) switched from
state RUNNING to FAILING.
org.apache.flink.runtime.JobException: Recovery is suppressed by
NoRestartBackoffTimeStrategy
at
org.apache.flink.runtime.executiongraph.failover.ExecutionFailureHandler.handleFailure(ExecutionFailureHandler.java:219)
at
org.apache.flink.runtime.executiongraph.failover.ExecutionFailureHandler.handleFailureAndReport(ExecutionFailureHandler.java:166)
at
org.apache.flink.runtime.executiongraph.failover.ExecutionFailureHandler.getFailureHandlingResult(ExecutionFailureHandler.java:121)
at
org.apache.flink.runtime.scheduler.DefaultScheduler.recordTaskFailure(DefaultScheduler.java:281)
at
org.apache.flink.runtime.scheduler.DefaultScheduler.handleTaskFailure(DefaultScheduler.java:272)
at
org.apache.flink.runtime.scheduler.DefaultScheduler.onTaskFailed(DefaultScheduler.java:265)
at
org.apache.flink.runtime.scheduler.SchedulerBase.onTaskExecutionStateUpdate(SchedulerBase.java:788)
at
org.apache.flink.runtime.scheduler.SchedulerBase.updateTaskExecutionState(SchedulerBase.java:765)
at
org.apache.flink.runtime.scheduler.SchedulerNG.updateTaskExecutionState(SchedulerNG.java:83)
at
org.apache.flink.runtime.jobmaster.JobMaster.updateTaskExecutionState(JobMaster.java:515)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at
org.apache.flink.runtime.rpc.pekko.PekkoRpcActor.lambda$handleRpcInvocation$1(PekkoRpcActor.java:318)
at
org.apache.flink.runtime.concurrent.ClassLoadingUtils.runWithContextClassLoader(ClassLoadingUtils.java:83)
at
org.apache.flink.runtime.rpc.pekko.PekkoRpcActor.handleRpcInvocation(PekkoRpcActor.java:316)
at
org.apache.flink.runtime.rpc.pekko.PekkoRpcActor.handleRpcMessage(PekkoRpcActor.java:229)
at
org.apache.flink.runtime.rpc.pekko.FencedPekkoRpcActor.handleRpcMessage(FencedPekkoRpcActor.java:88)
at
org.apache.flink.runtime.rpc.pekko.PekkoRpcActor.handleMessage(PekkoRpcActor.java:174)
at org.apache.pekko.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:33)
at org.apache.pekko.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:29)
at scala.PartialFunction.applyOrElse(PartialFunction.scala:127)
at scala.PartialFunction.applyOrElse$(PartialFunction.scala:126)
at
org.apache.pekko.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:29)
at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:175)
at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:176)
at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:176)
at org.apache.pekko.actor.Actor.aroundReceive(Actor.scala:547)
at org.apache.pekko.actor.Actor.aroundReceive$(Actor.scala:545)
at org.apache.pekko.actor.AbstractActor.aroundReceive(AbstractActor.scala:229)
at org.apache.pekko.actor.ActorCell.receiveMessage(ActorCell.scala:590)
at org.apache.pekko.actor.ActorCell.invoke(ActorCell.scala:557)
at org.apache.pekko.dispatch.Mailbox.processMailbox(Mailbox.scala:272)
at org.apache.pekko.dispatch.Mailbox.run(Mailbox.scala:233)
at org.apache.pekko.dispatch.Mailbox.exec(Mailbox.scala:245)
at
java.base/java.util.concurrent.ForkJoinTask.doExec$$$capture(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java)
at
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
at
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
Caused by: java.lang.RuntimeException: One or more fetchers have encountered
exception
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcherManager.checkErrors(SplitFetcherManager.java:333)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.getNextFetch(SourceReaderBase.java:228)
at
org.apache.flink.connector.base.source.reader.SourceReaderBase.pollNext(SourceReaderBase.java:190)
at
org.apache.flink.streaming.api.operators.SourceOperator.emitNext(SourceOperator.java:443)
at
org.apache.flink.streaming.runtime.io.StreamTaskSourceInput.emitNext(StreamTaskSourceInput.java:68)
at
org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:638)
at
org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:973)
at
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:917)
at
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:970)
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:949)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:763)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.RuntimeException: SplitFetcher thread 0 received
unexpected exception while polling the records
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:168)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.run(SplitFetcher.java:117)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:317)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
... 1 more
Caused by: java.io.IOException: org.apache.flink.util.FlinkRuntimeException:
Read split SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:101)
at
org.apache.flink.connector.base.source.reader.fetcher.FetchTask.run(FetchTask.java:58)
at
org.apache.flink.connector.base.source.reader.fetcher.SplitFetcher.runOnce(SplitFetcher.java:165)
... 7 more
Caused by: org.apache.flink.util.FlinkRuntimeException: Read split
SnapshotSplit\{tableId=nova-fund.nova-fund.player_transaction,
splitId='nova-fund.nova-fund.player_transaction:0', splitKeyType=[`id`
VARCHAR(36) NOT NULL], splitStart=null, splitEnd=null, highWatermark=null}
error due to java.lang.NullPointerException.
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.checkReadException(IncrementalSourceScanFetcher.java:205)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollWithBuffer(IncrementalSourceScanFetcher.java:156)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.pollSplitRecords(IncrementalSourceScanFetcher.java:122)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.pollSplitRecords(IncrementalSourceSplitReader.java:161)
at
org.apache.flink.cdc.connectors.base.source.reader.IncrementalSourceSplitReader.fetch(IncrementalSourceSplitReader.java:98)
... 9 more
Caused by: io.debezium.DebeziumException: java.lang.NullPointerException
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.executeDataSnapshot(PostgresScanFetchTask.java:112)
at
org.apache.flink.cdc.connectors.base.source.reader.external.AbstractScanFetchTask.execute(AbstractScanFetchTask.java:71)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask.execute(PostgresScanFetchTask.java:86)
at
org.apache.flink.cdc.connectors.base.source.reader.external.IncrementalSourceScanFetcher.lambda$submitTask$1(IncrementalSourceScanFetcher.java:100)
... 3 more
Caused by: java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.createDataEvents(PostgresScanFetchTask.java:268)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:255)
at
org.apache.flink.cdc.connectors.postgres.source.fetch.PostgresScanFetchTask$PostgresSnapshotSplitReadTask.doExecute(PostgresScanFetchTask.java:211)
at
io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)
... 7 more
--
This message was sent by Atlassian Jira
(v8.20.10#820010)