Level1Accelerator opened a new issue, #9629: URL: https://github.com/apache/seatunnel/issues/9629
### 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 使用的zeta分离部署,全增量启动任务报获取表结构空指针错误,日志debug有打印ddl的信息 ### SeaTunnel Version 2.3.11 ### SeaTunnel Config ```conf env { parallelism = 1 job.mode = "STREAMING" checkpoint.interval = 10000 } source { MySQL-CDC { base-url = "jdbc:mysql://ip:3306/magic?useSSL=false" username = "user" password = "pwd" #table-names = ["testdb.table1", "testdb.table2"] database-pattern = "magic.*" table-pattern = "magic.*\\..*" startup.mode = "initial" schema-changes.enabled = "true" } } sink { Console { } } ``` ### Running Command ```shell ./bin/seatunnel.sh --config /home/app/apache-seatunnel-2.3.11/job/mysql_cdc.conf --async -n cdc_job ``` ### Error Exception ```log [1002028006450921474] 2025-07-28 09:41:44,636 DEBUG [i.d.c.m.MySqlDatabaseSchema ] [hz.main.generic-operation.thread-36] - Processing snapshot DDL 'CREATE TABLE `system_tenant` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '租户编号', `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '租户名', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='租户表'' for database 'magic' [1002028006450921474] 2025-07-28 09:41:44,638 DEBUG [o.a.s.c.s.c.m.u.MySqlSchema ] [hz.main.generic-operation.thread-36] - Ignore exception when execute `SHOW CREATE TABLE magic.system_tenant` failed java.lang.NullPointerException: null at org.apache.seatunnel.connectors.cdc.base.utils.CatalogTableUtils.mergeCatalogTableConfig(CatalogTableUtils.java:121) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.utils.MySqlSchema.parseSnapshotDdl(MySqlSchema.java:165) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.utils.MySqlSchema.getTableSchemaByShowCreateTable(MySqlSchema.java:128) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.utils.MySqlSchema.readTableSchema(MySqlSchema.java:85) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.utils.MySqlSchema.getTableSchema(MySqlSchema.java:76) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.source.MySqlDialect.queryTableSchema(MySqlDialect.java:110) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.splitter.AbstractJdbcSourceChunkSplitter.getSplitColumn(AbstractJdbcSourceChunkSplitter.java:388) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.splitter.AbstractJdbcSourceChunkSplitter.generateSplits(AbstractJdbcSourceChunkSplitter.java:69) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.SnapshotSplitAssigner.getNext(SnapshotSplitAssigner.java:185) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.HybridSplitAssigner.getNext(HybridSplitAssigner.java:98) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.IncrementalSourceEnumerator.assignSplits(IncrementalSourceEnumerator.java:172) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.IncrementalSourceEnumerator.handleSplitRequest(IncrementalSourceEnumerator.java:82) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.engine.server.task.SourceSplitEnumeratorTask.requestSplit(SourceSplitEnumeratorTask.java:241) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.source.RequestSplitOperation.lambda$runInternal$0(RequestSplitOperation.java:62) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.common.utils.RetryUtils.retryWithException(RetryUtils.java:48) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.source.RequestSplitOperation.runInternal(RequestSplitOperation.java:52) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.TracingOperation.run(TracingOperation.java:42) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.Operation.call(Operation.java:189) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:273) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:248) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:213) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:175) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:139) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.executeRun(OperationThread.java:123) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102) ~[seatunnel-starter.jar:2.3.11] [1002028006450921474] 2025-07-28 09:41:44,638 INFO [o.a.s.c.s.c.m.u.MySqlSchema ] [hz.main.generic-operation.thread-36] - Fallback to use `DESC magic.system_tenant` load schema [1002028006450921474] 2025-07-28 09:41:44,639 DEBUG [i.d.c.m.MySqlDatabaseSchema ] [hz.main.generic-operation.thread-36] - Processing snapshot DDL 'CREATE TABLE system_tenant (`id` bigint(20) NOT NULL, `name` varchar(30) NOT NULL, PRIMARY KEY (`id`))' for database 'magic' [1002028006450921474] 2025-07-28 09:41:44,643 INFO [i.d.j.JdbcConnection ] [pool-27-thread-1] - Connection gracefully closed [] 2025-07-28 09:41:44,643 ERROR [.s.t.o.s.RequestSplitOperation] [hz.main.generic-operation.thread-36] - [localhost]:5802 [seatunnel] [5.1] Generate Splits for table magic.system_tenant error java.lang.RuntimeException: Generate Splits for table magic.system_tenant error at org.apache.seatunnel.connectors.cdc.base.source.enumerator.splitter.AbstractJdbcSourceChunkSplitter.generateSplits(AbstractJdbcSourceChunkSplitter.java:117) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.SnapshotSplitAssigner.getNext(SnapshotSplitAssigner.java:185) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.HybridSplitAssigner.getNext(HybridSplitAssigner.java:98) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.IncrementalSourceEnumerator.assignSplits(IncrementalSourceEnumerator.java:172) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.IncrementalSourceEnumerator.handleSplitRequest(IncrementalSourceEnumerator.java:82) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.engine.server.task.SourceSplitEnumeratorTask.requestSplit(SourceSplitEnumeratorTask.java:241) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.source.RequestSplitOperation.lambda$runInternal$0(RequestSplitOperation.java:62) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.common.utils.RetryUtils.retryWithException(RetryUtils.java:48) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.source.RequestSplitOperation.runInternal(RequestSplitOperation.java:52) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.TracingOperation.run(TracingOperation.java:42) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.Operation.call(Operation.java:189) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:273) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:248) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:213) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:175) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:139) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.executeRun(OperationThread.java:123) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102) ~[seatunnel-starter.jar:2.3.11] Caused by: java.lang.RuntimeException: Can't obtain schema for table magic.system_tenant at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.utils.MySqlSchema.readTableSchema(MySqlSchema.java:102) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.utils.MySqlSchema.getTableSchema(MySqlSchema.java:76) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.seatunnel.cdc.mysql.source.MySqlDialect.queryTableSchema(MySqlDialect.java:110) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.splitter.AbstractJdbcSourceChunkSplitter.getSplitColumn(AbstractJdbcSourceChunkSplitter.java:388) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.splitter.AbstractJdbcSourceChunkSplitter.generateSplits(AbstractJdbcSourceChunkSplitter.java:69) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] ... 17 more [1002028006450921474] 2025-07-28 09:41:44,645 WARN [.s.e.s.t.f.SourceFlowLifeCycle] [BlockingWorker-TaskGroupLocation{jobId=1002028006450921474, pipelineId=1, taskGroupId=2}] - source request split failed. java.util.concurrent.ExecutionException: java.lang.RuntimeException: Generate Splits for table magic.system_tenant error at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.returnOrThrowWithGetConventions(InvocationFuture.java:121) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.resolveAndThrowIfException(InvocationFuture.java:100) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.AbstractInvocationFuture.get(AbstractInvocationFuture.java:617) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.flow.SourceFlowLifeCycle.requestSplit(SourceFlowLifeCycle.java:237) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.context.SourceReaderContext.sendSplitRequest(SourceReaderContext.java:68) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.reader.IncrementalSourceReader.pollNext(IncrementalSourceReader.java:106) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.engine.server.task.flow.SourceFlowLifeCycle.collect(SourceFlowLifeCycle.java:159) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.collect(SourceSeaTunnelTask.java:127) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:165) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.call(SourceSeaTunnelTask.java:132) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:694) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.TaskExecutionService$NamedTaskWrapper.run(TaskExecutionService.java:1023) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.api.tracing.MDCRunnable.run(MDCRunnable.java:43) ~[seatunnel-starter.jar:2.3.11] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_451] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_451] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_451] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_451] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_451] Caused by: java.lang.RuntimeException: Generate Splits for table magic.system_tenant error at org.apache.seatunnel.connectors.cdc.base.source.enumerator.splitter.AbstractJdbcSourceChunkSplitter.generateSplits(AbstractJdbcSourceChunkSplitter.java:117) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.SnapshotSplitAssigner.getNext(SnapshotSplitAssigner.java:185) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.HybridSplitAssigner.getNext(HybridSplitAssigner.java:98) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.IncrementalSourceEnumerator.assignSplits(IncrementalSourceEnumerator.java:172) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.connectors.cdc.base.source.enumerator.IncrementalSourceEnumerator.handleSplitRequest(IncrementalSourceEnumerator.java:82) ~[connector-cdc-mysql-2.3.11.jar:2.3.11] at org.apache.seatunnel.engine.server.task.SourceSplitEnumeratorTask.requestSplit(SourceSplitEnumeratorTask.java:241) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.source.RequestSplitOperation.lambda$runInternal$0(RequestSplitOperation.java:62) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.common.utils.RetryUtils.retryWithException(RetryUtils.java:48) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.source.RequestSplitOperation.runInternal(RequestSplitOperation.java:52) ~[seatunnel-starter.jar:2.3.11] at org.apache.seatunnel.engine.server.task.operation.TracingOperation.run(TracingOperation.java:42) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.Operation.call(Operation.java:189) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.call(OperationRunnerImpl.java:273) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:248) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:213) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:175) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.process(OperationThread.java:139) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationexecutor.impl.OperationThread.executeRun(OperationThread.java:123) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:102) ~[seatunnel-starter.jar:2.3.11] at ------ submitted from ------.() ~[?:?] at com.hazelcast.internal.util.ExceptionUtil.cloneExceptionWithFixedAsyncStackTrace(ExceptionUtil.java:336) ~[seatunnel-starter.jar:2.3.11] at com.hazelcast.spi.impl.operationservice.impl.InvocationFuture.returnOrThrowWithGetConventions(InvocationFuture.java:112) ~[seatunnel-starter.jar:2.3.11] ... 17 more Caused by: java.lang.RuntimeException: Can't obtain schema for table magic.system_tenant ``` ### Zeta or Flink or Spark Version _No response_ ### Java or Scala Version 1.8 ### Screenshots <!-- Failed to upload "image.png" --> ### 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]
