aiyi926 opened a new issue, #8063:
URL: https://github.com/apache/seatunnel/issues/8063

   ### 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
   
   I used the entire library of seatunnel-web-1.0.2 to synchronize mysqlCDC to 
kafka and reported an error that did not recognize MySQL-CDC and reported a 
null pointer exception
   
   ### SeaTunnel Version
   
   2.3.8
   
   ### SeaTunnel Config
   
   ```conf
   {
       "transform" : [],
       "sink" : [
           {
               "format" : "COMPATIBLE_DEBEZIUM_JSON",
               "bootstrap.servers" : "192.168.36.57:19093",
               "source_table_name" : "Table15642877834144",
               "semantics" : "NON",
               "plugin_name" : "Kafka"
           }
       ],
       "source" : [
           {
               "schema" : {
                   "fields" : {
                       "topic" : "string",
                       "value" : "string",
                       "key" : "string"
                   }
               },
               "inverse-sampling.rate" : "1000",
               "catalog" : {
                   "factory" : "Mysql"
               },
               "parallelism" : "1",
               "table-names" : [
                   "test.user"
               ],
               "chunk-key.even-distribution.factor.lower-bound" : "0.05",
               "database-names" : [
                   "test"
               ],
               "password" : "******",
               "sample-sharding.threshold" : "1000",
               "incremental.parallelism" : "1",
               "snapshot.fetch.size" : "1024",
               "connect.max-retries" : "3",
               "base-url" : 
"jdbc:mysql://192.168.36.57:27508/seatunnel?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&allowPublicKeyRetrieval=true",
               "startup.mode" : "INITIAL",
               "format" : "COMPATIBLE_DEBEZIUM_JSON",
               "result_table_name" : "Table15642877834144",
               "server-time-zone" : "UTC",
               "plugin_name" : "MySQL-CDC",
               "exactly_once" : "false",
               "connection.pool.size" : "20",
               "snapshot.split.size" : "8096",
               "stop.mode" : "NEVER",
               "chunk-key.even-distribution.factor.upper-bound" : "100.0",
               "connect.timeout.ms" : "30000",
               "dag-parsing.mode" : "MULTIPLEX",
               "username" : "******"
           }
       ],
       "env" : {
           "job.mode" : "STREAMING",
           "job.name" : "SeaTunnel_Job",
           "savemode.execute.location" : "CLUSTER"
       }
   }
   ```
   
   
   ### Running Command
   
   ```shell
   使用的是web页面
   ```
   
   
   ### Error Exception
   
   ```log
   2024-11-15 11:13:04.786 trendy_seatunnel ngfa-k8s01 INFO 
[qtp1710483461-1526] 
[MultipleTableJobConfigParser.fillJobConfigAndCommonJars():317] - add common 
jar in plugins 
:[file:/opt/apache-seatunnel-2.3.8/plugins/mysql-connector-java-8.0.19.jar]
   2024-11-15 11:13:04.788 trendy_seatunnel ngfa-k8s01 INFO 
[qtp1710483461-1526] [AbstractPluginDiscovery.<init>():116] - Load 
SeaTunnelSink Plugin from /opt/apache-seatunnel-2.3.8/connectors
   2024-11-15 11:13:04.789 trendy_seatunnel ngfa-k8s01 INFO 
[qtp1710483461-1526] [AbstractPluginDiscovery.findPluginJarPath():446] - 
Discovery plugin jar for: PluginIdentifier{engineType='seatunnel', 
pluginType='source', pluginName='MySQL-CDC'} at: 
file:/opt/apache-seatunnel-2.3.8/connectors/connector-cdc-mysql-2.3.8.jar
   2024-11-15 11:13:04.790 trendy_seatunnel ngfa-k8s01 INFO 
[qtp1710483461-1526] [AbstractPluginDiscovery.findPluginJarPath():446] - 
Discovery plugin jar for: PluginIdentifier{engineType='seatunnel', 
pluginType='sink', pluginName='Kafka'} at: 
file:/opt/apache-seatunnel-2.3.8/connectors/connector-kafka-2.3.8.jar
   2024-11-15 11:13:04.791 trendy_seatunnel ngfa-k8s01 WARN 
[qtp1710483461-1526] [ConfigUtil.convertValue():64] - Option 
'source_table_name' is a List, and it is recommended to configure it as 
["string1","string2"]; we will only use ',' to split the String into a list.
   2024-11-15 11:13:04.791 trendy_seatunnel ngfa-k8s01 INFO 
[qtp1710483461-1526] [MultipleTableJobConfigParser.parse():205] - start 
generating all sources.
   2024-11-15 11:13:04.812 trendy_seatunnel ngfa-k8s01 ERROR 
[qtp1710483461-1526] [JobExecutorServiceImpl.executeJobBySeaTunnel():128] - Job 
execution submission failed.
   org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], 
ErrorDescription:[Factory initialize failed] - Unable to create a source for 
identifier 'MySQL-CDC'.
           at 
org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:101)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSource(MultipleTableJobConfigParser.java:375)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:209)
           at 
org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.getLogicalDag(ClientJobExecutionEnvironment.java:114)
           at 
org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.execute(ClientJobExecutionEnvironment.java:182)
           at 
org.apache.seatunnel.app.service.impl.JobExecutorServiceImpl.executeJobBySeaTunnel(JobExecutorServiceImpl.java:126)
           at 
org.apache.seatunnel.app.service.impl.JobExecutorServiceImpl.jobExecute(JobExecutorServiceImpl.java:79)
           at 
org.apache.seatunnel.app.controller.JobExecutorController.jobExecutor(JobExecutorController.java:64)
           at sun.reflect.GeneratedMethodAccessor393.invoke(Unknown Source)
           at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
           at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
           at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
           at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
           at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
           at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
           at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)
           at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
           at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
           at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:517)
           at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:584)
           at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
           at 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1631)
           at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
           at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
           at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
           at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
           at 
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
           at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
           at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
           at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
           at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
           at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
           at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
           at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
           at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
           at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
           at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600)
           at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
           at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
           at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
           at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
           at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
           at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
           at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
           at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
           at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
           at org.eclipse.jetty.server.Server.handle(Server.java:516)
           at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
           at 
org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
           at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
           at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
           at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
           at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
           at 
org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
           at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
           at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
           at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
           at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
           at java.lang.Thread.run(Thread.java:748)
   Caused by: java.lang.NullPointerException: null
           at 
org.apache.seatunnel.connectors.cdc.debezium.row.DebeziumJsonDeserializeSchema.<init>(DebeziumJsonDeserializeSchema.java:41)
           at 
org.apache.seatunnel.connectors.seatunnel.cdc.mysql.source.MySqlIncrementalSource.createDebeziumDeserializationSchema(MySqlIncrementalSource.java:95)
           at 
org.apache.seatunnel.connectors.cdc.base.source.IncrementalSource.<init>(IncrementalSource.java:112)
           at 
org.apache.seatunnel.connectors.seatunnel.cdc.mysql.source.MySqlIncrementalSource.<init>(MySqlIncrementalSource.java:54)
           at 
org.apache.seatunnel.connectors.seatunnel.cdc.mysql.source.MySqlIncrementalSourceFactory.lambda$createSource$1(MySqlIncrementalSourceFactory.java:116)
           at 
org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:113)
           at 
org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:74)
           ... 68 common frames omitted
   ```
   
   
   ### Zeta or Flink or Spark Version
   
   _No response_
   
   ### Java or Scala Version
   
   _No response_
   
   ### Screenshots
   
   
![image](https://github.com/user-attachments/assets/9f7a0ff5-ce43-4d75-b798-a6f878c047f8)
   
   
   ### Are you willing to submit PR?
   
   - [X] 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: commits-unsubscr...@seatunnel.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to