liusy-bd opened a new issue, #10417: URL: https://github.com/apache/seatunnel/issues/10417
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found no similar issues. ### What happened 正常流消费 oracle cdc 写入paimon , 测试 故障恢复 失败 ### SeaTunnel Version sea 2.3.12 ### SeaTunnel Config ```conf cat > /data/workspaces/sea_config_file/STREAMING-ZETA-ZG_ERP-ALL_TABLE.config <<EOF env { job.mode = "STREAMING" parallelism = 1 checkpoint.interval = 120000 # 120s checkpoint.timeout = 120000 checkpoint.max_concurrent = 1 read_limit.rows_per_second=2000 } source { Oracle-CDC { plugin_output = "customers" url = "jdbc:oracle:thin:@db.erp.xxxx.com:1521/ORCL" username = "dbzuser" password = "aVnmmpqr7WmVLFlx" database-names = ["ORCL"] schema-names = ["ZG_ERP"] table-names = [ "ORCL.ZG_ERP.TSALES_ORDER_LOG", "ORCL.ZG_ERP.TSALES_ORDER_ITEM" ] source.reader.close.timeout = 120000 startup.mode = "LATEST" # INITIAL 全量后一直接增量 EARLIEST 从能拿到的最早日志位置开始 只做增量 LATEST 从当前最新日志位置开始 stop.mode = "never" # 不自动停止 exactly_once = true schema-changes.enabled = true # 是否启用模式演进(新增、删除、重命名字段) snapshot.split.size = 5000 # 每个 split chunk 大小(行数) snapshot.fetch.size = 2048 # 每次 fetch 时批大小,适当调大减小交互延迟 skip_analyze = true # 不用 Seatunnel 自己分析表(如果你 DBA 已提前分析好) use_select_count=true connect.timeout.ms = 60000 # JDBC 连接超时时间 connect.max-retries = 5 connection.pool.size = 5 # JDBC 连接池大小(适当调大) # 控制 chunk key 的均匀分布阈值 chunk-key.even-distribution.factor.upper-bound = 200 chunk-key.even-distribution.factor.lower-bound = 0.01 sample-sharding.threshold = 2000 inverse-sampling.rate = 2000 # dbz参数 优化 debezium.log.mining.strategy=online_catalog debezium.log.mining.continuous.mine=true } } sink { Paimon { catalog_name="seatunnel_zg_erp_test" catalog_type="hive" catalog_uri="thrift://10.80.108.99:7004,thrift://10.80.108.88:7004" warehouse = "hdfs:///usr/hive/warehouse" database = "ODS_\${schema_name}" table = "\${table_name}" paimon.hadoop.conf = { fs.defaultFS = "hdfs://HDFS9999" dfs.nameservices = "HDFS9999" dfs.ha.namenodes.HDFS9999 = "nn1,nn2" dfs.namenode.rpc-address.HDFS9999.nn1 = "10.80.108.99:4007" dfs.namenode.rpc-address.HDFS9999.nn2 = "10.80.108.88:4007" dfs.client.failover.proxy.provider.HDFS9999 = "org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider" dfs.client.use.datanode.hostname = "true" } paimon.table.write-props = { bucket = 1 write-only = true # 只写入 需开启专用压缩 target-file-size = 128MB write-buffer-spillable = true # 开启异步Compaction num-sorted-run.stop-trigger = 2147483647 # 极大值,减少写入暂停 sort-spill-threshold = 10 # 防止内存溢出 changelog-producer.lookup-wait = false # 禁用同步等待,实现异步 } } } EOF $SEATUNNEL_HOME/bin/seatunnel.sh \ --async \ -e cluster \ --config /data/workspaces/sea_config_file/STREAMING-ZETA-ZG_ERP-ALL_TABLE.config \ -n STREAMING-ZETA-ZG_ERP-ALL_TABLE ``` ### Running Command ```shell ./bin/seatunnel.sh -s 1069080396185993220 ./bin/seatunnel.sh -r 1069080396185993220 -c /data/workspaces/sea_config_file/STREAMING-ZETA-ZG_ERP-ALL_TABLE.config ``` ### Error Exception ```log 2026-01-29 16:39:07,659 INFO [o.a.s.e.c.j.ClientJobProxy ] [main] - Start submit job, job id: 1069080396185993220, with plugin jar [file:/data/seatunnel/connectors/connector-cdc-base-2.3.12.jar, file:/data/seatunnel/connectors/connector-paimon-2.3.12.jar, file:/data/seatunnel/connectors/connector-cdc-oracle-2.3.12.jar] 2026-01-29 16:39:07,949 INFO [o.a.s.e.c.j.ClientJobProxy ] [main] - Submit job finished, job id: 1069080396185993220, job name: SeaTunnel_Job 2026-01-29 16:39:07,977 WARN [o.a.s.e.c.j.JobMetricsRunner ] [job-metrics-runner-1069080396185993220] - Failed to get job metrics summary, it maybe first-run 2026-01-29 16:39:17,270 INFO [o.a.s.e.c.j.ClientJobProxy ] [main] - Job (1069080396185993220) end with state FAILED 2026-01-29 16:39:17,270 INFO [c.h.c.LifecycleService ] [main] - hz.client_1 [emrv3-seatunnel] [5.1] HazelcastClient 5.1 (20220228 - 21f20e7) is SHUTTING_DOWN 2026-01-29 16:39:17,273 INFO [.c.i.c.ClientConnectionManager] [main] - hz.client_1 [emrv3-seatunnel] [5.1] Removed connection to endpoint: [10.80.108.47]:5801:67c5f590-e466-40bf-aacf-51ea5a8cf9c5, connection: ClientConnection{alive=false, connectionId=1, channel=NioChannel{/10.80.108.93:59287->/10.80.108.47:5801}, remoteAddress=[10.80.108.47]:5801, lastReadTime=2026-01-29 16:39:17.266, lastWriteTime=2026-01-29 16:39:09.270, closedTime=2026-01-29 16:39:17.271, connected server version=5.1} 2026-01-29 16:39:17,274 INFO [.c.i.c.ClientConnectionManager] [main] - hz.client_1 [emrv3-seatunnel] [5.1] Removed connection to endpoint: [10.80.108.17]:5802:23d17ea5-7404-47ff-ad34-1a30af07567c, connection: ClientConnection{alive=false, connectionId=4, channel=NioChannel{/10.80.108.93:45139->/10.80.108.17:5802}, remoteAddress=[10.80.108.17]:5802, lastReadTime=2026-01-29 16:39:14.196, lastWriteTime=2026-01-29 16:39:14.196, closedTime=2026-01-29 16:39:17.273, connected server version=5.1} 2026-01-29 16:39:17,274 INFO [.c.i.c.ClientConnectionManager] [main] - hz.client_1 [emrv3-seatunnel] [5.1] Removed connection to endpoint: [10.80.108.37]:5802:52b3715d-be8b-4437-820b-020092f3fb5c, connection: ClientConnection{alive=false, connectionId=3, channel=NioChannel{/10.80.108.93:51883->/10.80.108.37:5802}, remoteAddress=[10.80.108.37]:5802, lastReadTime=2026-01-29 16:39:09.196, lastWriteTime=2026-01-29 16:39:09.196, closedTime=2026-01-29 16:39:17.274, connected server version=5.1} 2026-01-29 16:39:17,275 INFO [.c.i.c.ClientConnectionManager] [main] - hz.client_1 [emrv3-seatunnel] [5.1] Removed connection to endpoint: [10.80.108.75]:5801:6f0bc40b-edbf-4f0b-a615-df7d33f5a005, connection: ClientConnection{alive=false, connectionId=2, channel=NioChannel{/10.80.108.93:39149->/10.80.108.75:5801}, remoteAddress=[10.80.108.75]:5801, lastReadTime=2026-01-29 16:39:14.271, lastWriteTime=2026-01-29 16:39:14.270, closedTime=2026-01-29 16:39:17.275, connected server version=5.1} 2026-01-29 16:39:17,275 INFO [c.h.c.LifecycleService ] [main] - hz.client_1 [emrv3-seatunnel] [5.1] HazelcastClient 5.1 (20220228 - 21f20e7) is CLIENT_DISCONNECTED 2026-01-29 16:39:17,278 INFO [c.h.c.LifecycleService ] [main] - hz.client_1 [emrv3-seatunnel] [5.1] HazelcastClient 5.1 (20220228 - 21f20e7) is SHUTDOWN 2026-01-29 16:39:17,278 INFO [s.c.s.s.c.ClientExecuteCommand] [main] - Closed SeaTunnel client...... 2026-01-29 16:39:17,278 INFO [s.c.s.s.c.ClientExecuteCommand] [main] - Closed metrics executor service ...... 2026-01-29 16:39:17,278 ERROR [o.a.s.c.s.SeaTunnel ] [main] - =============================================================================== 2026-01-29 16:39:17,278 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Fatal Error, 2026-01-29 16:39:17,278 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Please submit bug report in https://github.com/apache/seatunnel/issues 2026-01-29 16:39:17,278 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Reason:SeaTunnel job executed failed 2026-01-29 16:39:17,279 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Exception StackTrace:org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job executed failed at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:228) at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40) at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:40) Caused by: org.apache.seatunnel.engine.common.exception.SeaTunnelEngineException: org.apache.seatunnel.engine.server.checkpoint.CheckpointException: CheckpointCoordinator inside have error. at org.apache.seatunnel.engine.server.checkpoint.CheckpointCoordinator.handleCoordinatorError(CheckpointCoordinator.java:282) at org.apache.seatunnel.engine.server.checkpoint.CheckpointCoordinator.handleCoordinatorError(CheckpointCoordinator.java:278) at org.apache.seatunnel.engine.server.checkpoint.CheckpointCoordinator.reportCheckpointErrorFromTask(CheckpointCoordinator.java:397) at org.apache.seatunnel.engine.server.checkpoint.CheckpointManager.reportCheckpointErrorFromTask(CheckpointManager.java:174) at org.apache.seatunnel.engine.server.checkpoint.operation.CheckpointErrorReportOperation.runInternal(CheckpointErrorReportOperation.java:48) at org.apache.seatunnel.engine.server.task.operation.TracingOperation.run(TracingOperation.java:42) at com.hazelcast.spi.impl.operationservice.Operation.call(Operation.java:189) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:273) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:248) at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:471) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:197) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:137) at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.executeRun(OperationThread.java:123) at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102) Caused by: org.apache.seatunnel.common.utils.SeaTunnelException: java.lang.NullPointerException at org.apache.seatunnel.connectors.seatunnel.paimon.sink.PaimonSinkWriter.<init>(PaimonSinkWriter.java:138) at org.apache.seatunnel.connectors.seatunnel.paimon.sink.PaimonSinkWriter.<init>(PaimonSinkWriter.java:188) at org.apache.seatunnel.connectors.seatunnel.paimon.sink.PaimonSink.restoreWriter(PaimonSink.java:133) at org.apache.seatunnel.api.sink.multitablesink.MultiTableSink.restoreWriter(MultiTableSink.java:115) at org.apache.seatunnel.engine.server.task.flow.SinkFlowLifeCycle.restoreState(SinkFlowLifeCycle.java:345) at org.apache.seatunnel.engine.server.task.SeaTunnelTask.lambda$restoreState$16(SeaTunnelTask.java:401) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at org.apache.seatunnel.engine.server.task.SeaTunnelTask.restoreState(SeaTunnelTask.java:398) at org.apache.seatunnel.engine.server.checkpoint.operation.NotifyTaskRestoreOperation.lambda$null$0(NotifyTaskRestoreOperation.java:107) at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736) at org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:43) 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) ... 12 more at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:220) ... 2 more ``` ### Zeta or Flink or Spark Version _No response_ ### Java or Scala Version _No response_ ### Screenshots _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
