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]

Reply via email to